随笔分类 - 求解策略
摘要:题意:有n([1,5000])个物品,每一个有价值v和代价w,当你选择了这个物品后,剩下没选的物品价值减少w,问最大价值?假设我们已经选好了物品,那么显然,按照w升序排序贪心是最优的选择让后我们可以用dp来计算最优方案,这样的话我们需要将物品按照w降序排序,否则无法计...
阅读全文
摘要:题意:求Fib(n)此题渗水,这里讲一种不用矩阵的方法令f[n]=Fib(n)我们假设k=n/2那么久有以下递推式:若n-k%2=1f[n]=f[k]*f[k]+f[k+1]*f[k+1]否则f[n]=f[k]*f[k+1]+f[k+1]*(f[k]+f[k+1])边...
阅读全文
摘要:题意:求Fib(n)此题渗水,这里讲一种不用矩阵的方法令f[n]=Fib(n)我们假设k=n/2那么久有以下递推式:若n-k%2=1f[n]=f[k]*f[k]+f[k+1]*f[k+1]否则f[n]=f[k]*f[k+1]+f[k+1]*(f[k]+f[k+1])边...
阅读全文
摘要:先声明:本人在OJ上并没有AC但是坚信是spj错了因为我下载了数据本地评测而且交了一个直接输出答案的程序这个题目思路比较奇怪,题解我也没有看懂,这里提供一种三分的方法我们假设这个B的表达式为[a±x,b±x][c±x,d±x]那么显然答案就是x我们先暴力枚举正负号(二...
阅读全文
摘要:先声明:本人在OJ上并没有AC但是坚信是spj错了因为我下载了数据本地评测而且交了一个直接输出答案的程序这个题目思路比较奇怪,题解我也没有看懂,这里提供一种三分的方法我们假设这个B的表达式为[a±x,b±x][c±x,d±x]那么显然答案就是x我们先暴力枚举正负号(二...
阅读全文
摘要:如果∑d≠2n-2说明错了否则,我们先构造出这棵树的直径,若一个di>2则我们将d-2个节点与其相连,所以answer=n-1-∑(max(2,d[i])-2)#includeinline int max(int a,int b){ return a>b?a:b; }...
阅读全文
摘要:如果∑d≠2n-2说明错了否则,我们先构造出这棵树的直径,若一个di>2则我们将d-2个节点与其相连,所以answer=n-1-∑(max(2,d[i])-2)#includeinline int max(int a,int b){ return a>b?a:b; }...
阅读全文
摘要:2017.10.21更新,下面是原本的咸鱼做法我们发现询问只有一个,我们考虑二分这个最后答案我们将序列中所有大于mid的值变成1,否则变成0,那么,排序就变成了将序列的01放在头或尾,可以用线段树区间修改做到#include#include#define mid (l...
阅读全文
摘要:2017.10.21更新,下面是原本的咸鱼做法我们发现询问只有一个,我们考虑二分这个最后答案我们将序列中所有大于mid的值变成1,否则变成0,那么,排序就变成了将序列的01放在头或尾,可以用线段树区间修改做到#include#include#define mid (l...
阅读全文
摘要:有两种字符串S,T。长度分别为n,m。现在需要在S里面有序地选出k个子串,且在T中出现的顺序与这k个子串的顺序相同。问这k个子串最大长度之和,n,m#include#includeusing namespace std;int n,m,K,f[1010][1010][...
阅读全文
摘要:有两种字符串S,T。长度分别为n,m。现在需要在S里面有序地选出k个子串,且在T中出现的顺序与这k个子串的顺序相同。问这k个子串最大长度之和,n,m#include#includeusing namespace std;int n,m,K,f[1010][1010][...
阅读全文
摘要:这道题在梦里就能切了,显然每一位都可以拆开,那么一次操作相当于将一个1左移或者右移,那么全部都移到一侧肯定最佳#include#define UL long longint n,v[32]={0},c[32];UL t=0;int main(){ scanf("%d"...
阅读全文
摘要:这道题在梦里就能切了,显然每一位都可以拆开,那么一次操作相当于将一个1左移或者右移,那么全部都移到一侧肯定最佳#include#define UL long longint n,v[32]={0},c[32];UL t=0;int main(){ scanf("%d"...
阅读全文
摘要:显然,如果令w[i]=s[i]-k,那么显然s[i]|w[j]就是s[j]%s[i]=k的必要条件,那么我们倒序枚举每个开头l,枚举w[l]的每个因数看看他在s[l+1]~s[n]中有没有出现,求出一个位置最靠近l的r,那么贡献就是r-l#include#includ...
阅读全文
摘要:显然,如果令w[i]=s[i]-k,那么显然s[i]|w[j]就是s[j]%s[i]=k的必要条件,那么我们倒序枚举每个开头l,枚举w[l]的每个因数看看他在s[l+1]~s[n]中有没有出现,求出一个位置最靠近l的r,那么贡献就是r-l#include#includ...
阅读全文
摘要:有问题,找副连,无聊的时候当然也可以找他啦。小W找到了他的叔叔——东厂厂长——宇宙超级无敌老WS yy。他们叔侄两个商量之后决定用弹弓打破社区里的一些窗户,但是弹弓每秒只能彻底打破一扇窗户。而且如果某户窗户的主人回来了的话,他们就不能进行破坏了(不然会死得很惨的)。因...
阅读全文
摘要:有问题,找副连,无聊的时候当然也可以找他啦。小W找到了他的叔叔——东厂厂长——宇宙超级无敌老WS yy。他们叔侄两个商量之后决定用弹弓打破社区里的一些窗户,但是弹弓每秒只能彻底打破一扇窗户。而且如果某户窗户的主人回来了的话,他们就不能进行破坏了(不然会死得很惨的)。因...
阅读全文
摘要:【题目背景】蜀汉章武元年(221年),刘备为报吴夺荆州、关羽被杀之仇,率大军攻吴。吴将陆逊为避其锋,坚守不战,双方成对峙之势。蜀军远征,补给困难,又不能速战速决,加上入夏以后天气炎热,以致锐气渐失,士气低落。刘备为舒缓军士酷热之苦,命蜀军在山林中安营扎寨以避暑热。陆逊...
阅读全文