摘要:
链接 我太菜了,连贪心题都不会写。。。 贪心思路很简单,我们能满足顾客就满足他,如果满足不了,就看之前的顾客中 有没有需求比该顾客多的顾客,如果有的话改为卖给这位顾客会使解更优 所以我们用一个优先队列维护一下所有卖的顾客,然后每此判断一下就好了 阅读全文
摘要:
李超树是个什么东西呢? 其实就是一棵线段树。。。。 我们来看这一道题 其实就是这样一道题目 在二维空间中插入一条直线,询问x=k的地方最上面一条直线的编号 李超树储存的是区间[l,r]中'最优线段', 最优线段,就是[l,r]中最暴露最长的线段 可以发现在k处的答案就是 所有包含此区间的最优线段中的 阅读全文
摘要:
题目连接 很显然可以想到分块,用f[i][j]表示块i到块j的ans,然后发现答案一定是f[i][j] 或者其他在边角出现的数字 我们在记下g[i][j]从开头到块i中的数字j出现的次数 这样就每一次就统计边角数字出现的次数,然后更新答案就好了 (好像莫对也可以做。。。。) 注意每一次查询时不要me 阅读全文
摘要:
放个链接 BZ链接 其实这题就是修车的加强版,做法差不多,还是对于每个厨师进行拆点 可是这样强行建图跑网络流会T飞 我们发现,如果一个厨师没有做倒数第x到菜,他一定不会做倒数第x+1到菜 我们的每次增广表示有厨师的倒数第k道菜做了y,这样我们把这位厨师的倒数做k+1道菜的边连起来 动态加边 连边是注 阅读全文
摘要:
洛谷链接 BZ链接 一个很容易想到的做法就是用f[i][j][t]表示t时刻在i,j处的可以滑动的最大值 f[i][j][t]=max(f[i][j][t-1],f[*i][*j][t-1]),这样大力转移 只不过会TLE+MLE 所以我们要进行一下优化 f[i][j][k]表示在第k个时间段在i, 阅读全文
摘要:
题目连接 bz链接 我们发现,如果一个人有ai个分数比他高的人,有bi个分数比他低的人 那么按照分数排序后,区间[ai+1,n-bi]中的人分数便是相同的 这样就将一个人转化为一个区间 也许有很多人的区间都是[x,y]所以我们令区间[x,y]的权值为这个区间的人数,即ai+1=x,n-bi=y的人的 阅读全文
摘要:
题目连接 一道人类智慧题。。。。 这道题目可以转化为在a,b中的选出一些位置,使得这些位置处的值加起来大于没有选的位置的值 我们按照a的权值排序,选择第一个元素,其与元素两两分组,每组选择b更大的那一个 很显然这样对于数组b是满足要求的,然后我们发现第i组的a权值肯定大于第i+1组的没有选的位置的权 阅读全文
摘要:
题目链接 BZ链接 其实dp只要把状态想好后转移就很好写了(flag*1) f[i][j][k]表示到了第i行,有j列放了一个跑,有k列放了两个跑的方案总数 然后大力讨论,转移即可 阅读全文
摘要:
可能是晚上脑子瓦特了,我居然没有想出来。。。 题目大意: 有n个人,m个政党,每个人刚开始支持的政党是pi,你可以贿赂他ci元钱,改变他支持的政党 问你至少要花费多少使得1号政党当选。当选是要求改政党的得票严格高于其他政党 题解: 枚举一号政党当选是的选票,然后贪心 设每个政党的选票是a[i] 也就 阅读全文