动态规划DP
文章平均质量分 71
loriols
这个作者很懒,什么都没留下…
展开
-
2021.11.18 部分题解
翻转游戏 solution: 有一种理解,就是当前需要消除的1数目为偶数,那么就一定没有方案。 那么我们来考虑奇数情况,将mmm写成二进制形式,然后我们把每个1和前面连续的0看成一块,第一个1就除外 若一个1前面没有0那么就直接添加就可以了 如图,我们需要的只是111这一段的长度,要得到这个长度,我们就用O3−O2−O1−1O3-O2-O1-1O3−O2−O1−1,得到的就是111串的长度 #include<bits/stdc++.h> #define ll long long using原创 2021-11-19 07:37:54 · 1061 阅读 · 0 评论 -
2021.11.17模拟赛部分题解
第K排列 solution: 这个题目乍一看暴搜,但是又一看数据太大了不能暴搜,但是最后仔细的看,发现其实当我们严谨的估价,其实就是一个暴搜 首先我们可以从后面去计算最大的后缀值,然后我们就可以从前往后dfs了,因为只用求字典序第kkk大的答案,且kkk小于1000,所以我们去暴力递归,然后暴力递归的时间复杂度其实只有O(n∗4)O(n*4)O(n∗4),因为经过剪枝之后,每个位置只会错4次。 #include<bits/stdc++.h> #define ll long long usin原创 2021-11-18 07:46:07 · 128 阅读 · 0 评论 -
2021-11-13 半期考试
果果系统2 solution: 这个题目极其阴间,T1打磨你,全场没有a 首先对于有对角线的方块我们可以直接确定位置,然后可以直接将在他2∗22*22∗2的矩阵内建立一个拓扑图,那么还剩一些1∗21*21∗2的长条,怎么办呢,首先每当我们删除一个2∗22*22∗2之后,我们将格子都赋值为−1-1−1,然把周围的12个格子全部遍历,再去判断是否能构出一个新的2∗22*22∗2 #include<bits/stdc++.h> #define ll long long using namespac原创 2021-11-16 07:37:22 · 507 阅读 · 0 评论 -
模拟赛2021.11.9赛题总结
2021.11.9 总结 早上的的模拟赛考得还行,有一些小失误。但是晚上就直接保龄了,太难受了,怎么会在晚上考模拟啊,心态崩了。 昨天晚上基本没有考试心得,基本就是在做T1的时候没想清楚,神志不清,然后觉得T2不太可做,结果就是两个小时T1坐牢。后面的题基本没有怎么思考,昨天就应该直接倒序开题。还是对于时间的把握不够好,其实就应该直接放弃前面的题,先去坐后面的。 T1 solution: f[i]f[i]f[i]表示 ...原创 2021-11-10 15:33:17 · 288 阅读 · 0 评论