CF605E Intergalaxy Trips 考虑你是不知道后来的边的出现情况的,所以可以这样做:每天你都选择一些点进行观察,知道某天往这些点里面的某条边可用了,你就往这条边走。这样贪心总是对的。 我们定义一个点的权值就是这个点到 $ n $ 的期望距离。同时它就是我们要算的答案。 但是注意到一 ...
分类:
其他好文 时间:
2020-02-13 14:48:50
阅读次数:
52
「JSOI2015」套娃 "传送门" 考虑贪心。 首先我们假设所有的套娃都互相不套。 然后我们考虑合并两个套娃 $i$,$j$ 假设我们把 $i$ 套到 $j$ 里面去,那么就可以减少 $b_j \times out_i$ 的花费。 我们有一种 贪心策略就是说把所有套娃按 $b$ 从大到小排序,然后 ...
分类:
Web程序 时间:
2020-02-13 10:02:39
阅读次数:
82
/* 先把n二进制拆分,用map保存a[i]出现次数 然后从低位到高位去凑n 对于n某位是1的位数i 考虑mp里是否有1<<i 如果没有,考虑mp里比i低位的数能否凑出i, 如果还是没有,就从高位去拆,只有这种情况下,才会对答案有贡献 */ #include<bits/stdc++.h> using ...
分类:
其他好文 时间:
2020-02-13 09:46:36
阅读次数:
55
//线段树区间覆盖 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int N=100010; int flag; struct node{ in ...
分类:
其他好文 时间:
2020-02-11 09:25:59
阅读次数:
54
首先,$\mathcal O(n^2)$ 的思路十分好想。 大概就是说,我们发现答案序列是单调不降的,所以倒着来,对于每个位置 $i$,我们找一个它后面的位置 $j$,使得 $\frac{\sum_{k=i}^{j} a_k}{j-i+1}$ 是最小的,然后把这一段全部赋值为这个值。这样,我们就在优 ...
分类:
其他好文 时间:
2020-02-11 00:20:39
阅读次数:
60
把所有数看作N块,后面的块比前面的块小的话就合并,这个过程可能会有很多次,因为后面合并后会把前面的块均摊地更小,可能会影响更前面地块,像是多米诺骨牌效应,从后向前推 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using na ...
分类:
其他好文 时间:
2020-02-10 22:41:37
阅读次数:
85
贪心算法思想:不从整体最优上加以考虑,它所做出的选择只是在某种意义上的局部最优选择,当然希望贪心算法得到的最终结果也是整体最优的; 贪心算法性质:指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到; 最优装载问题 (1)问题描述:有一批集装箱要装上一艘载重量为 tatol 的轮船, ...
分类:
其他好文 时间:
2020-02-10 15:15:36
阅读次数:
66
涵盖知识点:贪心、简单几何、找规律etc. 比赛链接: https://codeforces.com/contest/1300 福利场因为某些NT原因没捞到分血亏。。。 A:Non-zero 题意:每次可以对一个元素+1,问你最少几次操作使所有元素的和与积不为0. 题解:所有为0的数字先+1,若加完 ...
分类:
其他好文 时间:
2020-02-10 13:51:40
阅读次数:
99
"传送门" A. Non zero 签到。 Code B. Assigning to Classes 贪心即可。 我们选出的两个数中,假设在左边的为$a$,右边的为$b$,那么小于$a$的有$x$个,大于$a$的有$x$个;同理小于$b$和大于$b$的都有$y$个。那么左侧为$x+y$个,右侧为$x ...
分类:
其他好文 时间:
2020-02-10 12:04:50
阅读次数:
49
我们倒着看,如果当前水桶 比右面水桶多,就把他俩匀一下。然后再往右接着看,如果匀过的这两个比右面第三个大,就把他们三个一起匀一下,复杂度O(N^2)。 我们考虑优化,如果一段被匀了之后,那么他们水位相同,之后要匀也一定是一起匀,就可以看作一个整体了。每个水桶只会被加入到整体一次,我们维护下每一段的开 ...
分类:
其他好文 时间:
2020-02-10 11:43:56
阅读次数:
75