贪心
新笑雨
这个作者很懒,什么都没留下…
展开
-
囫囵吞枣地记录fread的简单用法(hdu 7010)
鉴于被某道题折磨了一天的读入,笔者终于决定使用fread(虽然结果从TLE变成了WA)inline char nc(){ static char buf[100005],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,1000,stdin),p1==p2)?EOF:*p1++;}inline int _read(){ char ch=nc();int sum=0; while(!(ch&g原创 2021-08-21 15:31:29 · 147 阅读 · 0 评论 -
枪侠(一道暴力题)
解法由于r−l<=10r-l<=10r−l<=10,所以考虑枚举每一段的长度len,又因为字符集并不大,根据抽屉原理,总共最多有51个段。所以我们枚举len,计算与每个点最早冲突的点的位置,就是把点按mod lenmod~~lenmod len分组。然后枚举起点,看每个起点可以往后扩展到什么位置:用st表维护当前选择的区间中最近的冲突位置,然后看是否可以把下一个段选进来。复杂度O(510∗n)O(510*n)O(510∗n)#inclu..原创 2020-05-27 16:59:51 · 177 阅读 · 0 评论 -
codeforces 671D
luogu链接解法设f[i]表示覆盖了i的子树和i的返祖边的最小代价,那么答案就是∑i∈son[1]f[i]\sum_{i\in son[1]} f[i]∑i∈son[1]f[i],但是f[i]的方案不一定是最终的最优方案,如果某个方案可以向上延伸的更长,即使现在代价比较高,也有可能是最终更优的方案,所以我们需要维护所有有可能成为答案的方案。然后再给当前点选出一个最小的作为f。因为要选最小...原创 2020-03-28 15:37:18 · 451 阅读 · 0 评论 -
codeforces 573E
题目链接解法首先有一个n^2的dp:f[i][j]表示前i个元素,选了j个时的最大价值:f[i][j]=max(f[i−1][j],f[i−1][j−1]+a[i]∗j)f[i][j]表示前i个元素,选了j个时的最大价值:f[i][j]=max(f[i-1][j],f[i-1][j-1]+a[i]*j)f[i][j]表示前i个元素,选了j个时的最大价值:f[i][j]=max(f[i−1][j...原创 2020-03-19 17:39:57 · 195 阅读 · 0 评论 -
codeforces 1325F
题目链接题意给一个n个点m条边的无向联通图,要求在图上要么找出一个至少ceil(sqrt(n))个点的环,要么找出一个cail(sqrt(n))个点的独立集数据范围n≤1e5 m≤2e5n\le 1e5~~~~~m\le 2e5n≤1e5 m≤2e5解法(没有证明其正确性,...原创 2020-03-15 21:12:11 · 1512 阅读 · 0 评论 -
noi.ac 12
orz zhf题目链接题意有n个病毒,每天每个病毒的体积会变大ai,每天必须且只能消除一个病毒,代价是病毒的体积,每个病毒的初始体积是bi,天数一共有k天,问最小的代价是多少。数据范围n,k,ai≤106,bi≤1011n,k,ai\le 10^{6},bi\le 10^{11}n,k,ai≤106,bi≤1011解法首先有一个比较显然的O(N2)O(N^2)O(N2)dp,设f[i...原创 2020-02-23 12:38:15 · 418 阅读 · 3 评论 -
codeforces 1214F
题目链接题意有一个长度为m的环形铁路,在铁路的某些点上有一些人或一些办公室,现在要求给每个人配一个办公室,让所有人的上班路程最短。人和办公室的数量都是n。数据范围m≤1e9,n≤2e5m\le 1e9,n\le 2e5m≤1e9,n≤2e5解法参考博文首先可以发现,如果不是环,而是一条链,那么一定是将人和办公室分别排序,然后一一对应,因为如果不是这样,就一定会花费更多的路程.然后如...原创 2020-01-08 18:10:14 · 185 阅读 · 0 评论 -
一道贪心题(股神小L)
题意有n天,每天必须进行两个操作中的一种:买一股股票,或者卖一股股票。第i天股票的价格为a[i],一开始没有股票,卖股票的时候手上至少要有一股股票,问最后的最大利润是多少。可以是复数。n≤2e5n \le 2e5n≤2e5解法贪心:首先考虑一种策略,奇数天买,偶数天卖,然后不断调整这个策略使其变优,考虑对卖的价值维护一个小根堆,如果某奇数天卖更划算,就把之前卖的价格最小的那一天改成买。(对...原创 2020-01-02 22:19:42 · 338 阅读 · 0 评论 -
uoj 418
原题题意:Snuke 有一棵nnn个点的有根树,每个点有权值wiwiwi,初始每个结点上都没有石子。Snuke 准备了一些石子,并把它们拿在手中。她可以进行以下两种操作任意多次:1 从手中取wiwiwi个石子放在结点iii上,进行该操作要求结点 iii 的所有孩子 jjj 上都有 wjwjwj个石子。2 将结点iii上的所有石子收回手中。Takahashi 想知道对于每个iii,为了在...原创 2019-12-25 18:16:44 · 282 阅读 · 1 评论 -
luogu P3620
题意一条数轴上有n个点,需要你给这n个点配对,每个点至多只能属于一个对,一共需要配k对,使得每对点的距离相加之和最小,保证有解数据范围1≤n,k≤1e5,0≤点的坐标≤1e61\leq n,k\leq1e5,0\leq 点的坐标 \leq 1e61≤n,k≤1e5,0≤点的坐标≤1e6解法首先题目条件得出k≤n/2k \leq n/2k≤n/2,所以每对只会选择相邻两点,然后就有了一个初...原创 2019-12-16 18:26:54 · 174 阅读 · 0 评论 -
一道构造题
题意:对于一个长度为nnn的01串,下标从0到n−1n-1n−1。定义两种类型的操作:A类型:选择一个xxx将序列循环右移xxx位,也就是新序列的第(i+x)mod n(i+x) \mod\:n(i+x)modn位对应原序列的第iii位。例如:对于x=2x=2x=2,01100将会变成10001。B类型:选择一个xxx,满足序列的第xxx个位置为1,且第(x+1)mod n(x+1...原创 2019-12-20 21:14:22 · 510 阅读 · 0 评论 -
一道字符串贪心题
题意DNA序列dna.c/cpp/in/out时间限制:2s空间限制:2G题目描述2018年10月,MIT建立了最新的纳米科技研究中心MIT.nano。此后,不断有新的研究成果在此产生。有一天,研究者发现了一种新的生物,这种生物的基因中含有 条DNA序列,每一条都有一定的长度,科学家们可以将每条DNA序列切断,从而取出它的一个非空前缀。此后,他们可以将这些前缀按任意顺序连结起来形...原创 2019-12-20 21:14:24 · 216 阅读 · 0 评论