摘要: 知道做这道题需要性质,怎么入手? 我想的是输入保证了a[i]都是power of two,而不是任意的数,那么一定得从二的整次数幂入手解决问题。 想到如果一个b可以被拼出来,那么他就能被写成多个power of 2相加的形式;那么我们每次用最大的power of 2去拼这个b,然后power of 阅读全文
posted @ 2018-07-04 10:27 4397 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 缺欠的是做题的思路,当看到这道题发现n是10^9级别,第一反应是得找到一个公式。但怎么找没想出来。 满足i+j+k+p = n (i,j,k,p分别是1,5,10,50取的个数),我们可以用n^3代价(枚举i,j,k)n比较小的时候的答案,并试着从枚举得到的答案里找到规律。 事实也确实能从中找到规律 阅读全文
posted @ 2018-07-02 20:54 4397 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 偷个懒,题解看这里:https://www.luogu.org/problemnew/solution/P2679 看作者 GuessYCB 写的 2018.9.6 这一次算理解深一点了,也不再觉得这题是神题了,只是思维难度稍微高一点。 首先定义状态dp[i][j][k]代表A里前i个字符挑出k个子 阅读全文
posted @ 2018-07-01 20:31 4397 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 1.单源最短路问题 Dijkstra 原版O(n^2)==>堆优化O(nlogn+m) 利用边权都是正的,所以路径会不断增长,单源最短路==>每次考虑能从源点到达的最近未访问结点就行了,找到的最短路是升序。(但如果有负边的话,就不能保证是升序了,所以错) Bellman-Ford其实就是Dijkst 阅读全文
posted @ 2018-07-01 10:58 4397 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 难点在于怎么想dp,我一开始想dp[i][j]代表前i个数挑j个能组成多少个good sebsequence,最后把dp[n][ 2到n ]加起来就行,但想不出来转移方程怎么做。后来想到我这么想是不对的,不应该先想状态怎么描述,而应该从题目入手去寻找一些性质(比如去思考good sequence的本 阅读全文
posted @ 2018-06-30 20:47 4397 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 想到这道题的解法是建个数组,每读入一条线段进来,就把这线段上的每个点+1,最后扫一遍数组算出count数组,这么做的复杂度是n*max(a[i]);简单用前缀和优化,复杂度变为n+max(a[i])还是过不了。我们想到a[i]是10^18级别的,而n最大200000,所以可以想象出这个前缀和数组里面 阅读全文
posted @ 2018-06-28 17:19 4397 阅读(582) 评论(0) 推荐(0) 编辑
摘要: 读完这道题后应该想到牌有多少张都是什么不重要,重要的是player的favorite number是怎么分配的。(因为不是任何player的favorite number不能带来任何joy)然后每个favorite number带来的joy互相不受影响,因为如果favorite number不一样, 阅读全文
posted @ 2018-06-25 21:42 4397 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 考场的时候想到的n*m做法tle了,正解是O(n+m) 首先想到一个性质是不管a[i],a[j]相差多少,只要a[i],a[j]同余,那想让他们increase后%m得到另一个余数,那他们需要increse的次数是相等的。 所以我们想到把n个数按%m从0到m-1分成m类。这样就能贪心了,因为如果%m 阅读全文
posted @ 2018-06-24 16:43 4397 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 虽然只是10^6的数据量,但用cin会tle。一直知道cin常数大,但没想到会是10^2这个级别。 我们枚举每个power的lamp,然后对每个power用平均logn的代价去求它的cost,最后取最小值 对于每个power,我们从左往右地去照亮整个区间,首先0点要插一个路灯,下一个路灯理想上想插在 阅读全文
posted @ 2018-06-16 19:21 4397 阅读(533) 评论(1) 推荐(1) 编辑
摘要: 第二次做构造题,感觉好做不好想啊。 受了答案的启发: 在游戏里面如果你得到一个狗粮罐头,那就一定会有一个关卡你需要使用掉狗粮罐头;但这题里面说n和m不固定,但实际上我们大胆的说n=40,m=50的情况下一定能构造出目标图。 先把n=1-10填满a,11-20填满b,21-30填满c,31-40填满d 阅读全文
posted @ 2018-06-15 12:38 4397 阅读(194) 评论(0) 推荐(0) 编辑