上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 68 下一页
摘要: 数字太大,找找规律比较好。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e5+10; const int mod=1e9+7; int main(){ ios::sync_with_s 阅读全文
posted @ 2020-08-20 21:43 朝暮不思 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 这道题我们首先发现因为最多就一个地方不一样,因此其实最终的答案就是n+1个字符串所产生的,也就是对于给定串,只改一位以及原串加入字典树 之后的做法和一道经典例题(文本打印机)一毛一样,就是枚举在哪个节点跑ac自动机+dp #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2020-08-20 20:40 朝暮不思 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 本来想对行列都维护线段树,然后每次查询两棵的最大值,之后进行修改。但是要考虑很多问题,例如最大值相同的时候选哪个,这些细节操作起来十分复杂,我也不知道是否可行 有一种巧妙的思路,我们发现取行对于取其他行没有影响,只对当前行有影响。因此就是用优先队列来分别计算选i次行,i次列的答案。 之后枚举选行的次 阅读全文
posted @ 2020-08-20 11:25 朝暮不思 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 首先约束不成立情况,因为他是最大值减最小值,所以对于成立的h来说,h1等于0,h[n]=n-1,并且h[i]>=h[i-1]。 其次我们需要计算的是合法的排列。对于h[i]>h[i-1],显然a[i]是当前的最大值或者最小值,因此答案值*2,并且多出了h[i]-h[i-1]-1个空位,这个空位的意思 阅读全文
posted @ 2020-08-19 23:14 朝暮不思 阅读(476) 评论(0) 推荐(2) 编辑
摘要: 这道题如果暴力的话是平方级别的,然后我们可以看出来,显然能够使用换根dp来做 只需要维护做两边dfs,分别维护向上向下的答案即可,不但要维护距离,也要维护点数。 维护的时候都是维护mod3状态下的答案 #include<bits/stdc++.h> using namespace std; type 阅读全文
posted @ 2020-08-19 16:34 朝暮不思 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 换根dp裸题,换根其实就是先做一遍dfs后,重新做一遍,第一次用下面的更新上面,第二次用上面的更新下面 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=5e5+10; const int i 阅读全文
posted @ 2020-08-19 14:13 朝暮不思 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 首先,如果k可以,那么2*k一定可以,因为这是两个k合并而来,因此如果存在答案,那么在n/2+1中一定存在答案 对于x分为两种,当x>=0,那么f[n]是最优的,只需要判断一下他即可 对于x<0我们可以尝试枚举k,首先从最大开始往下,因为k每减小一位,意味着出现了一段前缀和,以及之前的最小值减去x。 阅读全文
posted @ 2020-08-19 10:24 朝暮不思 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 首先这道题他要求以最优的方法,那么显然我们发现,因为路可以随便走,我们从1开始,首先肯定可以取完与他连通的candy。 之后我们可以选择去哪个怪物房,因为我们只能用一次传送门,因此其实只能另外再取另一个连通块,并且必须要通过和1这个块相连的怪物房。 对于一个怪物房,我们随机进入一个邻边,只是一个简单 阅读全文
posted @ 2020-08-18 14:18 朝暮不思 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 首先根据题目所给的图片,我们其实可以发现,答案就是枚举每个点,以这个点作为中间节点的答案 这也就是意味着,我们刚开始按权值大小从大到小连边,答案就是入度*出度。而对于每次修改,就是去除这个点的贡献,同时修改他旁边点的贡献 这样能够保证复杂度的原因是,一旦我这个点被清空了,那么连边就没了。即使我们每次 阅读全文
posted @ 2020-08-17 20:23 朝暮不思 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 本题数据范围很小,因此直接根据右侧爆搜左侧选择哪个,再加上一个可行性剪枝就行 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pll; const int inf=0x3 阅读全文
posted @ 2020-08-17 15:51 朝暮不思 阅读(395) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 68 下一页