
DP
文章平均质量分 55
John_pascal
这个作者很懒,什么都没留下…
展开
-
2016.08.15【初中部 NOIP提高组 】模拟赛C
T1:题目太水,不讲.T2:很明显的DP.设f[i,j]表示前i个当中,第i个地铁站选择第j种建成方式,转移自己推推.水到爆炸啊!!!T3:可以用拓扑求环.求出一个节点是否存在环之后,我们就对一个节点分两步骤做:如果这个节点是在环里的话则求出一个环里所有的数,并把这些数同时赋为一个值.对于不是环里的话,则也是一直往下dfs,直到求到的那个点以前被算过,则可以原创 2016-08-15 20:56:46 · 301 阅读 · 0 评论 -
2016.10.15【初中部 NOIP提高组 】模拟赛C
现在才AK,我的心啊……T1:题目大意:两头公牛之间至少有有k头奶牛的组合有多少种?dp.设f[i]表示到前i头牛能组成的方案数.分类讨论:对于i对于i>k,可以放n多只公牛,那么很明显,如果第i个为母牛,则方案数为f[i-1],若放公牛则方案数为f[i-k-1](这样子才能去重)T2:题目大意:给你一堆计算公式,让你求一个最终的原创 2016-10-28 20:39:16 · 576 阅读 · 3 评论 -
2016.10.05【初中部 NOIP普及组 】模拟赛
T1:直接把a,b数组的所有相同因数抵消,O(n²)效率吧。最后再高精度相乘。T2:很明显是spfa啊,求出最短路径之后再在最短路径里找一个最大的,注意:找的时候必须是可以到达的点。T3:四维DP。f[i,j,p,q]表示第一个人到i,j位置,第二个人到p,q位置的最小值。状态很容易就可以推出来了。注意T4:水到不能再水的递归。原创 2016-10-05 15:40:21 · 608 阅读 · 0 评论 -
2016.09.17【初中部 NOIP提高组 】模拟赛C
T1:是一道很水的栈的题目。因为车子到了车站就只能往b处走了。所以当车子进了车站后,首先要判断是否应该开往B处,如果这个时候开往B处恰好符合题目给的顺序,而你没有开,则一定会错。T2:树形DP.f[i,0]表示第i个节点不选的最优值。f[i,1]表示第i个节点选的最优值。状态就自己推推吧。然后,DP的时候需从上往下,然后在弹栈的时候赋值,方可处理无向图的神经质。原创 2016-09-26 17:30:52 · 484 阅读 · 0 评论 -
2016.09.24【初中部 NOIP提高组 】模拟赛C
T1:这道题很明显是一道二分的题目。然而许多人竟然不用二分就水过了,佩服佩服。一开始在考场上二分的是两人的电费。但发现这样子二分是不可以的,因为不知道总钱数是否能被那些价格整除,有时就会出错。但其实只需换一种思路,改为二分两个人的电量。二分一个人的电量,那么另一个人的电量就可以通过题目给出的n算出。知道了两个人的电量,则可以判断是否符合标准了。T2:这道题很明显原创 2016-09-26 17:24:29 · 449 阅读 · 0 评论 -
2016.09.17【初中部 NOIP普及组 】模拟赛
后三题:T1_Description:在当期拥有的集合s中,假设集合里的某一数A,使得集合里的其他数不比A的“风景”好(风景为每个数所拥有的两个权值,当A的两个权值大于B的两个权值则A比B的风景好)则每次找出当前集合里的所有“A”,并标记一下找到他时是第几类(也就是第几次),并把A从集合中去掉,以此类推,直到集合为空为止。一般的算法,超时.如何优化?我们保存一个数组,每原创 2016-09-24 16:44:20 · 497 阅读 · 0 评论 -
求n个中选m个的方案数(dp)
写在前面:是有几天没碰博客了,实在是没时间,今天因为C组有一题不想改了才能抽出时间来写写。尽量多写写,多写写有用的东西。Description:有n个物品,每个物品有一个对应的种类,要求你求出要选m个物品的不同方案数。一开始看,很容易想到用组合数去做,但因为一个物品可能有多个,所以方案可能重复。那么如何去重?很容易想到DP.原创 2016-09-24 15:36:32 · 2252 阅读 · 0 评论 -
2016.10.06【初中部 NOIP提高组 】模拟赛C
写在前面:这一套比赛听说是一位OI界的神犇出的题,果然质量很高啊,要好好总结。T1:It very simple.You can 排序,and 模拟 and AC.T2:一眼知道是DP.关键没想到怎么去无后效性.很明显只需要倒着推,因为当你在倒着推做到第i个的时候,i+1~n都是没有变过的,所以并不会对i产生影响,也就是去除了无后效性.明白了去无后效原创 2016-10-07 07:52:36 · 503 阅读 · 0 评论 -
2016.08.14【初中部 NOIP提高组 】模拟赛C
这次比赛做的非常差,原因很多。首先,做第一题的时候再一次看错题,浪费了整整1个小时(打类似NOip子矩阵那一题)的类似代码。这时,旁边的人都已经在做2,3题了,于是就心慌了,没有静下心来思考,就打了一个过了自己出的很多数据的代码,谁知就因为一个细节的地方导致爆0.而第2题则因为类型string没有改成ansistring,白白掉了五十分。第三题看题就看了十分钟,看懂后就果断放弃(事实证明这是这原创 2016-08-14 18:56:12 · 404 阅读 · 0 评论 -
2016.08.13【初中部 NOIP提高组 】模拟赛C
T1:赤裸裸的DP,以边长为状态,最后输出边长的平方即可.T2:也是DP.设f[i,j,k]表示选i个数,最大值为j,更新了k次的方案数.很明显是由f[i-1][][]所对应的某些数来更新f[i,j,k]的,则当枚举的第i个数小于等于j时,相应的状态为f[i-1,j,k]*j(为什么乘j是因为第i个数可能是1~j的每一个数)当大于时很明显是f[i-1][1..j-1原创 2016-08-13 17:24:35 · 403 阅读 · 0 评论 -
2016.08.11【初中部 NOIP提高组 一试】模拟赛B
第一次做B组的题目,果然难度不是一个级别的...C组的题目是有可能可以考场做出,即使没做出,知道方法后也是较容易实现的...而B组,以我现在的水平....不想说,对不起教我的人了....智商太低是不能一下子弥补的....T1:给出一个数h,求出等式h=x*y+x+y中的x,y有多少种可能.很明显h=x*y+x+y可以变成 h=x*(y+1)+y原创 2016-08-13 17:13:08 · 396 阅读 · 0 评论 -
2016.08.11【初中部 NOIP提高组 】模拟赛C
T1:采药2采药1是很明显的01背包,而采药2只是将N,m范围扩大到10^5,题目并没做多少改动.因为n,m扩大了,但是每个背包的时间和价值都减少了,在[1..10]的范围内.所以,我们可以以时间和价值做优化.这里讲述其中一种方法:因为背包的时间价值都小于等于10,所以总共最多只有10^2种互不相同的时间价值.我们对于时间价值都相同的记录好后,就可以原创 2016-08-11 19:28:10 · 646 阅读 · 1 评论 -
2016.08.12【初中部 NOIP提高组 】模拟赛C
T1:简单模拟.只需建一个队列,头指针(head)指向1,尾指针(tail)指向k,每次头指针作为删除的数,然后把头指针以后的P个数放到队尾,并更新尾指针,以此类推,每次当是第n的倍数次删除时就记录一下,最后输出就行了.T2:DP.因为这里只有n个格子,且仅有走和不走两种选择,很容易就可以想到设f[i,j]表示到第i个格子,走了j次的最优值.原创 2016-08-12 15:50:02 · 369 阅读 · 0 评论 -
2016.5.28【初中部 NOIP普及组 】模拟赛
题目:https://jzoj.net/junior/#contest/problems/1310T1:题目大意:求某数列——1,2,2,3,3,3,4,4,4,4....的a~b区间里的和。分析:这道题可以先把这个数列从1到b全部先算好,然后再直接从a~b区间内求和。T2:题目大意:在8*8的棋盘里,分布着白黑两色的棋子,现在允许多下一步黑子,问能转换原创 2016-07-02 17:26:28 · 586 阅读 · 0 评论 -
2016.07.13【初中部 NOIP提高组 】模拟赛C
题目:https://jzoj.net/senior/#contest/home/1740T1:有n种原料,有两种属性,酸性和尿性,然后,当选择n种原料时,总酸度为n种原料之积;总苦度为n种原料之和。你需要求出如何选择材料使得总酸度和总苦度的绝对值最小。由于n非常小——1T2:有n个连成环的圆圈,先手可以在n个数当中先选一个数,而后手只能原创 2016-07-13 19:15:55 · 490 阅读 · 0 评论 -
2016.07.19【初中部 NOIP提高组 】模拟赛C
题目:https://jzoj.net/senior/#contest/home/1766T1:题目大意:在题目给出的m个字符串中找出其中每一个字符串在题目给出的另n个字符串所相对应的的一个字符串的前缀。很明显对于第一问,求总共有多少个前缀,很明显就是二分,只要把n个字符串排个序就可以了(强烈谴责水过去的!)对于第二问,我们只需找出在所有可能出现的方案当中的规律。例原创 2016-07-25 22:44:27 · 494 阅读 · 0 评论