时间复杂度O(qlog2n)O(qlog2n) #include<cstdio>#include<algorithm>using namespacestd;constintM =20005;constintN =50*M;intread(){intx=0,f=1;charc;while((c=getchar())<'0'|| c>'9') {if(c=='-') f=-1;}while(c>='0'&& c<='9') {x=(x<<3)+(x<<1)+(c^48);...
主元法是处理转移环的套路,线性递推可以设少量主元直接递推,或者是设部分主元来减少未知数的数量。 #include<cstdio>#include<cstring>#include<iostream>using namespacestd;#definedb double#defineeps 1e-12constintM =205;intread(){intx=0,f=1;charc;while((c=getchar())<'0'|| c>'9') {if(c...
C202044zxy Rating 1500 Email 16549695@qq.com QQ Unfilled 格言 访问C202044zxy 的博客 Rating 变化 08:15:15 1100 1200 1300 1400 1500 1600 1700 1800 1900 C202044zxy AC 过的题目:共 0 道题 无
C202044zxy 博客园 首页 新随笔 联系 订阅 管理 [省选集训2022] 模拟赛16 小Z与函数 题目描述 在2022/3/242022/3/24 上午,zxyzxy 看到了一个函数: int get(int n) { int res=0; for(int i=1;i<=n;i++) { int vs=0; for(int j=i;j<=n;j++) if(a[i]...
首先研究什么样的子串是可重排的,可以把二进制位理解成给00或者11一个权重。如果是奇数位置(从低往高)则权重为正一,如果是偶数位置则权重为负一,要求所有11的权重之和是33的倍数。 考虑如果11的个数为偶数,可以直接正一负一相抵消,一定存在解。如果11的个数为大于11的奇数,考虑构造三个同奇偶的位置也可以让权...
{ int a,b,c,d; }s[M]; void dfs1(int u,int p) { f1[u]=p; for(int i=0;i<g1[u].size();i++) { int v=g1[u][i]; if(v==p) continue; dfs1(v,u); } } void dfs2(int u,int p) { f2[u]=p; for(int i=0;i<g2[u].size();i++) { int v=g2[u][i]...
C202044zxy 博客园 首页 新随笔 联系 订阅 管理 [APIO2016] 划艇 一、题目 点此看题 二、解法 可以设计出一个暴力 dpdp,设 dp[i][j]dp[i][j] 表示前 ii 个学校派出划艇最多为 jj 的方案数,但是第二维太大了。 考虑我们只关心第二维的大小关系,而且这道题 n≤500n≤500,所以可以把第二维...
{ int x=0,f=1;char c; while((c=getchar())<'0' || c>'9') {if(c=='-') f=-1;} while(c>='0' && c<='9') {x=(x<<3)+(x<<1)+(c^48);c=getchar();} return x*f; } int n,k,ans,MOD,a[N][N],b[N][N],g[N][N]; void add(int &x,int y) {x=(x...
a[q].fa=a[np].fa=nq;for(;p && a[p].ch[c]==q;p=a[p].fa) a[p].ch[c]=nq; } } } 我们一个一个加入字符,所以我们处理的是原串前缀的后缀自动机。但是现在我们叫加入cc之前的字符串为原串,加入cc之后的串为新串,那么npnp其实是整个新串对应的节点,要干的事有两个:把npnp连进图中/...
昵称: C202044zxy 园龄: 4年6个月 粉丝: 218 关注: 57 +加关注 搜索 随笔分类 dp(123) dp---背包(26) dp---动态dp(5) dp---区间dp(11) dp---树形dp(22) dp---数位dp(7) dp---状压dp(27) 其他---cdq分治(7) 其他---博弈论(18) 其他---拆分法(16) 其他--...