洛咕 P2465 [SDOI2008]山贼集团】的更多相关文章

裸的状压dp. 设f[i][j]表示在i字数内放j集合的分部,直接sb转移. // luogu-judger-enable-o2 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; il int gi(){ int x=0,f=1; char ch=getchar(); while(!isdigit(ch)){ if(ch=='-')f=-1; ch=getchar(); } while…
这个题是一道树形dp+状压dp二合一,先预处理每种组合会有什么额外的费用,然后在树上dp就行了. 题干: 题目描述 某山贼集团在绿荫村拥有强大的势力,整个绿荫村由N个连通的小村落组成,并且保证对于每两个小村落有且仅有一条简单路径相连.小村落用阿拉伯数字编号为1,,,,…,n,山贼集团的总部设在编号为1的小村落中.山贼集团除了老大坐镇总部以外,其他的P个部门希望在村落的其他地方建立分部.P个分部可以在同一个小村落中建设,也可以分别建设在不同的小村落中.每个分部到总部的路径称为这个部门的管辖范围,于…
洛咕 P2155 [SDOI2008]沙拉公主的困惑 有个结论,就是如果\(gcd(a,b)=1\),那么\(gcd(a+kb,b)=1\).证明比较显然. 所以这个题目要问的\(n!\)就可以分成\(\frac{n!}{m!}\)段,每一段和\(m!\)互质的数量都相同,那么显然就是\(\phi(m!)\) 所以答案是\(\frac{n!}{m!}\phi(m!)\) 然后怎么求呢,拆开 \(\frac{n!}{m!}\phi(m!)=\frac{n!}{m!}m!\Pi\frac{p-1}{…
题目描述 某山贼集团在绿荫村拥有强大的势力,整个绿荫村由\(N\)个连通的小村落组成,并且保证对于每两个小村落有且仅有一条简单路径相连. 小村落用阿拉伯数字编号为\(1,2,3,4, \dots ,n\),山贼集团的总部设在编号为\(1\)的小村落中. 山贼集团除了老大坐镇总部以外,其他的\(P\)个部门希望在村落的其他地方建立分部. \(P\)个分部可以在同一个小村落中建设,也可以分别建设在不同的小村落中.每个分部到总部的路径称为这个部门的管辖范围,于是这\(P\)个分部的管辖范围可能重叠,或…
今天一月一号.. 突然想安利一波我的中二的2017总结... 传送门1:codevs 传送门2:luogu 时限5s和1s的区别(你没看我传送门都给的大牛分站了) 现在不仅线筛.. 有负数的快读都打不对了.. 来比较一下他们的区别? inline int gn(int a=0,char c=0,int f=1){ for(;(c<48||c>57)&&c!='-';c=getchar());if(c=='-')f=-1,c=getchar(); for(;c>47&…
哈希水过. 首先这是一段delta相同的序列,按照套路差分一下,b[i]=a[i]-a[i-1],然后就是这些序列的最长公共子段 由于数据范围很小,就可以二分,枚举第一个序列的子段然后每个子序列暴力check,跑得飞快. // luogu-judger-enable-o2 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; il int gi(){ int x=0,f=1; char c…
非常好的一道题 树上的状压\(dp\) 根据数据范围我们就能知道这是一道需要状压的题目 所以状态就是\(dp[i][S]\)表示在以\(i\)为根的子树里,选择的状态为\(S\)的最大收益 这个收益只是在子树内部的收益,我们往上转移的时候继续加 显然这个东西类似于一个树上背包,我们子树和根顺次合并就好了 由于这里的体积是状态,所以我们可以直接枚举子集进行转移 方程 \[dp[i][s]=max(dp[j][t]+dp[i][s\ xor\ t])\] 代码 #include<cstring>…
洛咕3312 [SDOI2014]数表 终于独立写出一道题了...真tm开心(还是先写完题解在写的) 先无视a的限制,设\(f[i]\)表示i的约数之和 不妨设\(n<m\) \(Ans=\sum_{i=1}^n\sum_{j=1}^mf[\gcd(i,j)]\) \(Ans=\sum_{x=1}^nf[x]\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=x]\) 莫比乌斯反演,\(Ans=\sum_{x=1}^nf[x]\sum_{x|y}\mu(\frac{y}{…
洛咕 P3700 [CQOI2017]小Q的表格 神仙题orz 首先推一下给的两个式子中的第二个 \(b\cdot F(a,a+b)=(a+b)\cdot F(a,b)\) 先简单的想,\(F(a,a+b)\)和\(F(a,b)\)会相互影响 可以换一种角度想,\(F(a,b-a)\)和\(F(a,b)\)会相互影响\((b>a)\) 那么可以从\(F(x,y)\)一路推下去 \(F(x,y)=F(x,y-x)=F(x,y-2x)=\cdots=F(x,y\mod x)\) (注意这里的\(\t…
洛咕 P2336 [SCOI2012]喵星球上的点名 先求出SA和height,一个点名串对应的就是一段区间,还有很多个点,就转化成了 有很多个区间,很多个点集,对每个区间计算和多少个点集有交,对每个点集计算和多少个区间有交. 第一个,HH的项链的树状数组做法 第二个,因为是点集所以要去重,假设点集有\(a_1,a_2,\cdots,a_k\),可以对每个区间只再覆盖的第一个点做记录 就是记录\(\sum_{i=1}^k\sum_{\texttt{interval }[l,r]}\left[l\…