
刷题杂记
Xzhhng
这个作者很懒,什么都没留下…
展开
-
一道比较不错的组合思想题
方法一(O(n3))方法一(O(n^3))方法一(O(n3)) 将原数组进行排序,二重循环枚举两个数的值,但是发现很难计算方案数将原数组进行排序,二重循环枚举两个数的值,但是发现很难计算方案数将原数组进行排序,二重循环枚举两个数的值,但是发现很难计算方案数 所以就再加上一个这个值所在的位置,记为k所以就再加上一个这个值所在的位置,记为k所以就再加上一个这个值所在的位置,记为k 可以将原数组进行排序,较小的数为x,较大的数为y,比x小的数为sm,比x大的数为bg,在两个中间的为mid可以将原数组进行排序,.原创 2020-11-28 15:31:48 · 134 阅读 · 0 评论 -
Shik and Travel
题目传送门 第一次过黑题,才打了48行 发现每一条边只能且必须遍历两遍,手动模拟或直接证明可以知道一个结论发现每一条边只能且必须遍历两遍,手动模拟或直接证明可以知道一个结论发现每一条边只能且必须遍历两遍,手动模拟或直接证明可以知道一个结论 如果遍历到一颗子树,那么就一定要把这棵子树遍历完才能遍历下一棵如果遍历到一颗子树,那么就一定要把这棵子树遍历完才能遍历下一棵如果遍历到一颗子树,那么就一定要把这棵子树遍历完才能遍历下一棵 这样就很容易想到利用树形DP的方法,同时又具有单调性,可以用二分,记二分的数值为v原创 2020-11-28 14:37:00 · 166 阅读 · 0 评论 -
uoj套路
题目传送门 暴力很好打暴力很好打暴力很好打 有没有人性,才给7分!!! 看了一下没有给太大的值域,显然是要从值域着手看了一下没有给太大的值域,显然是要从值域着手看了一下没有给太大的值域,显然是要从值域着手 对于子任务3(和正解有关)可以用一个dp解决对于子任务3(和正解有关)可以用一个dp解决对于子任务3(和正解有关)可以用一个dp解决 dp[i][j]表示以i为左端点,j为右端点的最小的差值dp[i][j]表示以i为左端点,j为右端点的最小的差值dp[i][j]表示以i为左端点,j为右端点的最小的差值原创 2020-11-27 20:25:35 · 431 阅读 · 0 评论 -
缩进优化
题目传送门 首先以为这题有啥单调性的,硬是没看出来首先以为这题有啥单调性的,硬是没看出来首先以为这题有啥单调性的,硬是没看出来 没办法就先写了一个暴力,就发现可以优化了没办法就先写了一个暴力,就发现可以优化了没办法就先写了一个暴力,就发现可以优化了 首先可以将枚举的方案优化,对于一段区间,首先首先可以将枚举的方案优化,对于一段区间,首先首先可以将枚举的方案优化,对于一段区间,首先 ...原创 2020-11-27 19:31:57 · 174 阅读 · 0 评论 -
刷题杂记之Bindian Signalizing
题目传送门 首先考虑如何处理这个环 可以先找出最大的数,然后最大的数放在第一位,按顺序依次下派,最后再加上这个最大数,那么就不需要处理冗杂的计算了,直接就可以线性计算 思考如何在这个链上处理 对于一个点i,设它的左边的第一个比i大点为leftileft_ilefti,右边第一个比他大的点为rightiright_irighti,那么有i的区间就是leftileft_ilefti~rightiright_irighti(如果在这个区间的左边或者右边还有,那么a[i]一定小于a[leftileft_i原创 2020-09-09 15:07:28 · 191 阅读 · 0 评论 -
刷题杂记之Cows in a Skyscraper G
题目传送门 首先n小于18,就能很快地想到状压DP。不是暴力dfs吗 f[i]=min(j∈i){f[i−(1<<j−1)](可以放的时候)f[i−(1<<j−1)]+1(不可以放的时候)f[i]=min(j\in i)\begin{cases} f[i-(1<<j-1)](可以放的时候) \\ f[i-(1<<j-1)]+1(不可以放的时候) \end{cases}f[i]=min(j∈i){f[i−(1<<j−1)](可以放的时候)f[i−(原创 2020-09-01 15:39:46 · 236 阅读 · 1 评论 -
刷题杂记之Coloring Brackets
题目传送门 首先看到这个题目,一定要用栈,废话 我们可以发现对于一个括号,不管它是左括号还是右括号,对他有影响的只有3个位置 1. 他的左边括号的颜色 2. 他的右边括号的颜色 3. 他的对应的括号的颜色 对于1,2两个问题,可以利用普通的dp枚举,对于第3个问题,处理这个问题的括号,就可以处理把这个问题删掉的这个区间,所以就可以区间dp f[l][r][x][y]表示lf[l][r][x][y]表示lf[l][r][x][y]表示l~r这个区间,l的颜色为x,r的颜色为y的方案数r这个区间,l的颜色原创 2020-09-01 14:18:14 · 143 阅读 · 0 评论 -
刷题杂记之树上启发式合并
吐槽 在还没学启发式合并时的wo——什么神奇玩意,一定很nb 看完之后的wo——这。。。。 树上启发式合并的原理 就是暴力,我也不知道为什么要取这么一个好像需要rand等一些随机数的名字,大概是搞得神秘化一点吧 核心就是在暴力上进行优化,询问一般都是一个点的子树内的一些询问,过程就是通过一些联系计算出每一个的子树,最后输出就行了,一定程度上,这也不是一个离线算法(如果是对于询问进行强制在线的话) 题目传送门 这道题有很多的解法,比如说dfs序+回滚莫队,dfs+分治… 这里就讲讲启发式合并怎么做 首先原创 2020-08-28 08:05:20 · 246 阅读 · 2 评论 -
刷题杂记之密室
题目链接 一开始看这题,我还以为哈利能给罗恩开门呢(哈利怎么会这么好心) 无法开门,那么罗恩能走的哈利也能走罗恩真是个废物,但是哈利能走的罗恩不一定能走,那么就分成了3种情况 1,罗恩去救妹妹,哈利拿日记 2,罗恩去拿日记,哈利救金妮 3,哈利一人干完所有的事情 然后就愉快的解决了 #include<bits/stdc++.h> using namespace std; int read() { int num=0;bool flag=1; char c=getcha原创 2020-08-27 09:33:51 · 155 阅读 · 0 评论 -
刷题杂记之整体二分
如果只有原创 2020-08-27 07:29:29 · 154 阅读 · 0 评论