上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 30 下一页
摘要: 拿到题就想dp。 状态很好想,dp[i][3] - 0 - 不砍,1 - 向左倒,2 - 向右倒 但是一开始题意读清楚,如果倒的时候有树的位置,那么就不行,并且不能和倒的重叠。 那么转移的时候首先,不砍的话就继承前面所有的。 左边倒的话还要看一下重叠。 #include<bits/stdc++.h> 阅读全文
posted @ 2021-02-15 08:29 levill 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 非常好的一个题。 如果不是看到dp的tag,我可能真不会往dp去想。 首先状压去枚举肯定不行,因为最多100位。 经过仔细思考之后我得出了一个dp状态。 dp[i][j][k] - 表示a[i]为第j位且余数为k的值。 在验证过后,我发现这个状态很可做。 然后就开始推了,并不是很难推,但是这里有一个 阅读全文
posted @ 2021-02-14 08:38 levill 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 非常好的一个dp题。 一开始拿到的时候想的是二分去做,但是没写出来。 其实看到这个数据范围,应该想到状压,搜索,dp。 状压 和 搜索都不行,考虑dp。 dp[i][j][k],表示i头牛,领头的还剩j点体力,其余的还剩k点体力。 为什么要这样设置状态?因为这题里面特殊的地方就是领头的和其余的差异。 阅读全文
posted @ 2021-02-10 09:18 levill 阅读(73) 评论(0) 推荐(0) 编辑
摘要: A:把多余的步数删掉即可。 #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int,int> pii; const int N = 1e4 + 5; const int M = 1e4 + 阅读全文
posted @ 2021-02-08 17:29 levill 阅读(105) 评论(0) 推荐(0) 编辑
摘要: dp[i][j] - 表示以i,j结尾的最大序列长度,也可以是开头。 如果是为开头的话就从后向前dp了。 这题的转置,很显然发现,如果能转置,那么相邻差值肯定一样。 所以可以先去求一个差分数组再去dp。也可以边dp边算差值。 然后注意一下不重叠。因为我们的dp值中都少了一个位置,所以我们的重叠的位置 阅读全文
posted @ 2021-02-07 09:48 levill 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 对于式子 : $a^{2} + b^{2} = c^{2}$ 若已知a,请求构造一组b,使得c存在。 那么有勾股数的规律可知: 若a = 2 * m,那么b = m * m - 1,c = m * m + 1 若a = 2 * m + 1,那么b = 2 * m * (m + 1),c = 2 * 阅读全文
posted @ 2021-02-06 17:28 levill 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 2 - sat问题: 就是一些元素,他们的值只能为布尔值0,1. 给出一些限制关系,并且每对关系都是两个数之间的。 让你找出一组构造,让所有关系都满足。 解法: 首先要建图: 我们规定,a为1的点为a + n,a为0的点为a。 那么对于给定的一对关系a , b。 如果是a == 1,b == 1,那 阅读全文
posted @ 2021-02-04 15:18 levill 阅读(65) 评论(0) 推荐(0) 编辑
摘要: H:签到。 F:可以发现长度就是1,2,3这些第一个不在自己i位置上的,他们自己的位置减去i。 长度找到后就去翻转验证能不能行即可。 本来应该是要双端队列去模拟这个过程的,暴力翻转复杂度肯定不够。 但是懒得写队列暴力了写了下过了。 #include<bits/stdc++.h> using name 阅读全文
posted @ 2021-02-04 10:21 levill 阅读(85) 评论(0) 推荐(0) 编辑
摘要: A:感觉这题蛮难的,没想到这么多人过。 比赛的时候推dp推了挺久没推出来。 dp[i]表示i长度的包含u,s的串的方案数。 考虑转移: 1:前i个长度已经包含了u,s,那么随便新加入一个就行,即dp[i - 1] * 26 2:前i个长度只包含了u,没有us。那么加入一个s。 这里要用到容斥思想来求 阅读全文
posted @ 2021-02-02 17:11 levill 阅读(82) 评论(0) 推荐(0) 编辑
摘要: A:显然保证长度不变是最大的,然后交换1,0,2即可。 #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int,int> pii; const int N = 1e5 + 5; const 阅读全文
posted @ 2021-01-31 16:31 levill 阅读(71) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 30 下一页