摘要: sort改成qsort就A了???玄学操作。。其实觉得好像这题是暴力。。但是波老师好像做了半早上。。 首先肯定是先把最小生成树求出来,然后弄个结构体,表示l~r这些边值相等,v表示用了多少这样的值的边,然后爆搜可能的情况。 阅读全文
posted @ 2017-10-09 11:39 AKCqhzdy 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 我TM的怕不是个傻逼。。check里面比较hash搞成比较c,居然还能过数据,还过了n个对拍。。果然假如考试信样例就有鬼了。 嗯隔壁哈老师告诉我,hash其实不用mod,直接自然溢出就行,get到新姿势。 这道题前两个操作明显可以用伸展树来解决,问题在于比较两个后缀的前缀,那我们的做法就是令伸展树记 阅读全文
posted @ 2017-10-09 11:01 AKCqhzdy 阅读(193) 评论(0) 推荐(0) 编辑
摘要: get到新姿势,最小割=最大流,来个大佬的PPT 这道题的做法是将st和1的xpy连,0的xpy和ed连,xpy之间jy连双向边,然后呢答案就是最小割。 阅读全文
posted @ 2017-10-08 11:28 AKCqhzdy 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 嗯A了道水题(其实在学polya的时候做过类似的) 题意很裸,就是求sigma(gcd(i,n)),那很容易发现很多i和n的gcd是相等的,那我们就枚举gcd,然后将它的phi求出来,那(n/i)*phi(i)就将全部gcd为(n/i)的值给求出来了,同理phi(n/i)也一样,那先预处理一下素数, 阅读全文
posted @ 2017-10-08 10:22 AKCqhzdy 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 嗯这道题又涨姿势了。第一次看见这样的离散化。。666 说说做法吧,第一眼就看出线段树的说,贪心没看出来。。就只能膜网上的题解了,我们先将长度给排序一下,然后看看从当前位置(L)开始,要到哪个点(R)就可以达到m个区间共同包含至少一个位置,这就是一种解,判断m个区间的方式就是利用线段树维护一个区间最大 阅读全文
posted @ 2017-10-07 14:13 AKCqhzdy 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 打不用写超长代码模版的水题。。 因为这个数的个数大于n/2所以说让它和其他数每个抵消就行了。。 阅读全文
posted @ 2017-10-06 11:32 AKCqhzdy 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 10.5重回bzoj。刷了这道背包DP交了10次。 不过这个真的是一道好题。(也许是我DP太烂) 由于钱数较小,容易想到,f[i]表示花了i元所有的展示策略个数。然而在DP的时候却有一个问题,我们枚举买的皮肤个数维护背包时,有可能同一个英雄不同皮肤数叠乘,这样就不对了,所以DP时先从后将更新的位置枚 阅读全文
posted @ 2017-10-06 09:59 AKCqhzdy 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 还记得当年坐在OZY大佬旁边被D的日子。。才发现现在妙已经变成权限题做不了(怕是要被DS)只能补补左偏树聊以自慰了。 这个东西呢其实也是堆的一种(也叫左偏堆),可以理解为维护大(小)根堆的,堆顶就是最大(小)值用d表示,然后l,r是左右孩子节点,c是管理人数。至于为什么叫做左偏树呢,是因为他一个奇怪 阅读全文
posted @ 2017-10-02 11:49 AKCqhzdy 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 状态压缩的经典题。 按照一般做法,DP一维时间O(n),显然跑不过。考虑到石子较少,实际上有很长一段是一定可以跳到的,设两个石头分别在i点和j点,跳跃的路程为S到T。那么从i点可以跳到i+S到i+T。从j-T到j-S可以跳到J。显然当i和j相隔非常非常远时,从i到i+T中必然可以经过若干次跳跃,然后 阅读全文
posted @ 2017-10-01 11:24 AKCqhzdy 阅读(313) 评论(0) 推荐(0) 编辑
摘要: %hz大佬。。这道题的状态压缩简直匪夷所思(其实是我孤陋寡闻,而且我以前的博客竟然写了这题。。水啊) 嗯这题可以发现,我们可以用一个二进制表示一行的状态,1表示选0反之,可以发现行与行之间可选的范围是确定的,比如说:100这样的状态适用于每一行,推广一下:100001是适用于任何两行之间的。所以我们 阅读全文
posted @ 2017-09-29 21:35 AKCqhzdy 阅读(150) 评论(0) 推荐(0) 编辑