该文被密码保护。 阅读全文
posted @ 2021-08-10 00:05 尹吴潇 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-11-13 16:40 尹吴潇 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 因为现在noi/noip都是无限栈 noi-linux开栈指令 ulimit -s 102400 这个是100mb 平衡树*2 维护序列 翻转 平衡树+1 维护区间+* t了3个点。。 注意打完标记 splay一下 现在写起来正确率还蛮高的 主席树 不要把ls rs写成x*2 另外更新要注意都更新 阅读全文
posted @ 2018-11-01 20:07 尹吴潇 阅读(283) 评论(0) 推荐(0) 编辑
摘要: displaystyle的作用就是把公式和字变的一样大 large Large huge Huge 这样排下来。。 clear page用来换下一页 阅读全文
posted @ 2018-10-28 20:01 尹吴潇 阅读(174) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-06-03 13:07 尹吴潇 阅读(34) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-04-06 10:59 尹吴潇 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 重新改了一下板子 抄起来比较短 #include <bits/stdc++.h> using namespace std; #define rep(i,h,t) for (int i=h;i<=t;i++) #define dep(i,t,h) for (int i=t;i>=h;i--) #def 阅读全文
posted @ 2022-10-25 22:12 尹吴潇 阅读(122) 评论(0) 推荐(0) 编辑
摘要: set<re>::iterator split(int x) { auto it=S.upper_bound({x}); it--; int l=it->l,r=it->r,k=it->k; if (it->l!=x) { S.erase(it); S.insert({l,x-1,k}); retu 阅读全文
posted @ 2022-08-05 15:29 尹吴潇 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 更新一下以前的板子 https://codeforces.com/contest/1657/problem/F这个题的代码 #include <bits/stdc++.h> using namespace std; #define rep(i,h,t) for (int i=h;i<=t;i++) 阅读全文
posted @ 2022-03-25 17:02 尹吴潇 阅读(44) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-02-11 08:38 尹吴潇 阅读(9) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-02-10 08:37 尹吴潇 阅读(10) 评论(0) 推荐(0) 编辑
摘要: dij: #define rep(i,h,t) for (int i=h;i<=t;i++)const int N=1e4; struct re{ int a,b,c; bool operator <(const re x) const{ return b>x.b; } }a[N]; int n,m 阅读全文
posted @ 2022-02-07 09:12 尹吴潇 阅读(70) 评论(0) 推荐(0) 编辑
摘要: burnside引理:$ans=\frac{1}{n} *(f(1)+...f(n))$ $f(i)$表示在i置换下本质不同排列的个数 polya定理: 利用本质不同位置的个数去计算$f(i)$ 对于长度为n的序列移动i之后显然循环节是$gcd(n,i)$ 考虑对于一个因数d,显然$gcd(n,i) 阅读全文
posted @ 2022-02-06 15:48 尹吴潇 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 每次写麻烦存一下 const int MN=1e6; ll jc[MN+10],jc2[MN+10]; int pri[MN+10],phi[MN+10],cntpri; bool vispri[MN+10]; ll fsp(int x,int y) { if (y==0) return 1; if 阅读全文
posted @ 2022-02-06 15:41 尹吴潇 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 板子 const int N=1e6; struct FFT{ const double pi=acos(-1); struct cp{ double x,y; cp operator +(const cp &o)const{return (cp){x+o.x,y+o.y};} cp operato 阅读全文
posted @ 2021-11-27 13:57 尹吴潇 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Dsu 先访问小的 删除小的贡献 访问重儿子 之后合并小的时候 可以直接利用dfs序 长链剖分只需要开线段树不需要开主席树 阅读全文
posted @ 2021-10-22 11:25 尹吴潇 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 板子是抄的 不过他m=1的情况有bug要特判 #include <bits/stdc++.h> using namespace std; #define rep(i,h,t) for (int i=h;i<=t;i++) #define dep(i,t,h) for (int i=t;i>=h;i- 阅读全文
posted @ 2021-10-22 10:12 尹吴潇 阅读(42) 评论(0) 推荐(0) 编辑
摘要: [HNOI2013]游走 这个的方程比较经典 hdoj 7109 n^3预处理n^2询问修改矩阵最后一列 //#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math") //#pragma GCC target("s 阅读全文
posted @ 2021-10-14 16:02 尹吴潇 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 抄的板子略有修改 #include <bits/stdc++.h> using namespace std; #define rep(i,h,t) for (int i=h;i<=t;i++) #define dep(i,t,h) for (int i=t;i>=h;i--) #define ll 阅读全文
posted @ 2021-10-12 14:33 尹吴潇 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Ln(x) a[0]=1; exp(x) a[0]=0; 11.26 换了一个更快的dft的板子 #include <bits/stdc++.h> using namespace std; #define rep(i,h,t) for (int i=h;i<=t;i++) #define dep(i 阅读全文
posted @ 2021-08-15 16:03 尹吴潇 阅读(59) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-08-15 00:05 尹吴潇 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 牛客多校比赛的时候碰到了一题 https://ac.nowcoder.com/acm/contest/11257/K 其实原理比较简单 用于$O(1)$查询树上的一些询问 方法大概是点分治之后建出点分树 每一条链的答案可以在把他们分成两个子树的那个位置查询 代码里写的查询是$loglogn$的 实测 阅读全文
posted @ 2021-08-04 00:03 尹吴潇 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 之前碰到过两次但是没学 https://acm.hdu.edu.cn/showproblem.php?pid=7013 hdu多校的题 单位根反演都比较套路 如果有组合数可以把常系数和它化成n次幂的形式 实现复杂度从$n/k$变到$k$ 详细的有空补 //#pragma GCC optimize(" 阅读全文
posted @ 2021-08-03 23:55 尹吴潇 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 存个树状数组的板子省的每次都抄别人 struct sgt{ ll c1[N],c2[N]; inline void update(ll x,ll k) { ll i=x; while(x<=n) { c1[x]+=k; c2[x]+=i*k; x+=x&-x; } return; } inline 阅读全文
posted @ 2021-07-16 01:25 尹吴潇 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 最远点 描述: 给你一个n个点的凸多边形,求离每一个点最远的点。 题解: 容易发现随着顺时针做每一个点其最远点也会顺时针旋转 于是可以决策单调性 因为从1的最远点开始转可以转过1 所以将数组扩成两倍做 //#pragma GCC optimize("Ofast,no-stack-protector, 阅读全文
posted @ 2021-07-14 16:51 尹吴潇 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 当一张图每条边最多属于一个环的时候,这个图叫做仙人掌 圆方树用来解决仙人掌上的问题 1.仙人掌上最大独立集 仙人掌上做dp可以分成树边和环边两种边 所以相当于实现树形和环形dp void tarjan(ll x,ll y) { dfn[x]=low[x]=++cnt; for (ll u=head[ 阅读全文
posted @ 2021-07-11 23:27 尹吴潇 阅读(71) 评论(0) 推荐(0) 编辑
摘要: https://codeforces.ml/gym/102956 这道题是要实现每一位自定义二进制下运算的fwt$A*B=C$ (*是卷积) 跟一般fwt相同,实现过程可以按位进行 考虑构造成$T1A*T2B=T3C$ (*是对应相乘) 将其按照最高位拆开之后,即$A=[A0,A1],B=[B0,B 阅读全文
posted @ 2021-07-07 16:05 尹吴潇 阅读(100) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/11174/E 正好用这道题重新搞一下点分治板子 这道题就是个裸的点分治题 主程序里的话要保留 //#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast 阅读全文
posted @ 2021-06-11 22:40 尹吴潇 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 给出一些字符串,求对于每个字符串,在这些字符串里有多少子串 利用ac自动机+树链的并可以求解 //#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math") //#pragma GCC target("sse,sse 阅读全文
posted @ 2021-06-08 17:11 尹吴潇 阅读(38) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/11244/C 题解: 考虑只需要区间修改,求历史最大值 那么用线段树的话我们需要维护历史标记最大值,当前标记,区间当前最大值,历史区间最大值 其实现在变成求历史K大可以类似维护 我们维护历史标记最大的K个,当前标记,区间当前最 阅读全文
posted @ 2021-06-08 12:22 尹吴潇 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 树上后缀数组模板题: https://www.codechef.com/problems/DIFTRIP //#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math") //#pragma GCC target("s 阅读全文
posted @ 2021-06-07 18:06 尹吴潇 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 1.构造一个完整凸包 2.普通的构造一次凸包并求答案 2.允许动态加点的凸包求答案(cf932f) //#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math") //#pragma GCC target("sse, 阅读全文
posted @ 2021-05-28 01:10 尹吴潇 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 闲着无聊打了一下 发现我非常的愚蠢 a签到 b我写了个数位dp 其实上界松了的时候答案直接是一半,这样可以写起来更简单 c题大概是二分之后再O(n)搞一下 被k=0卡的怀疑人生,一度以为是爆ll d题考虑整数分块+对数据分块 对于整数分块之后,我们要维护的是i-k,i-2k,i-3k,i-4k,对于 阅读全文
posted @ 2021-05-22 01:07 尹吴潇 阅读(102) 评论(0) 推荐(0) 编辑
摘要: https://codeforces.com/contest/1525/problem/F 题解: 容易发现最少用几个怪占用图就是求最小路径覆盖 这是网络流经典题 容易猜测出每次删一个点的出边或入边能让最小路径覆盖+1 所以比较暴力可以跑n^2次网络流 复杂度n^5 可以通过 下面有一种比较妙的做法 阅读全文
posted @ 2021-05-18 14:57 尹吴潇 阅读(165) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-05-16 17:54 尹吴潇 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 存个链式hash表的板子 比较好清空 const int MAXM=1e7+7; struct{ int next[MAXM],head[MAXM],ans[MAXM],size; ll state[MAXM]; void init(){ size=0; memset(head,0,sizeof(h 阅读全文
posted @ 2021-05-11 19:49 尹吴潇 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 挺简单的一个东西 判定定理就不说了 输出的时候 倒着输出图就能保证输出完了(有向无向图都是一样) 一道比较好的题目 https://codeforces.com/contest/1494/problem/F ##updata 2022.2.15 发现我是个sb,之前的复杂度是错的 void dfs( 阅读全文
posted @ 2021-05-11 14:05 尹吴潇 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 一 决策单调性 决策单调性优化dp即满足对于$i,j(i>j) $如果$dp[j]$从$dp[k]$转移,$dp[i]$从$dp[k1]$转移,则有$k1>=k$ 解决该问题有两种方法 1.整体二分 整体二分用于二维dp(高维) 即$dp[i][j]=max(dp[i-1][k]+cost[k][j 阅读全文
posted @ 2021-05-06 14:07 尹吴潇 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 大无语事件 cf b没特判1 c没清空 g题目看错 eoj ll改int就过了 能爆搜我二分我还以为我很机智改了个分治 大概是学构造学成新生了 *icpc记得要快读要删注释 阅读全文
posted @ 2021-05-05 20:23 尹吴潇 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 好久没有用过博客了 以前做fwt,fft的题都是套板子 这里补一下原理 FWT: 与运算: 结论:$FWT(A)_i=\sum_{i\&j=i}^{}A_j$ ​​$FWT(C)_i=FWT(A)_i*FWT(B)_i=(\sum_{i\&j=i}^{}A_j)(\sum_{i\&k=i}^{}B_ 阅读全文
posted @ 2021-03-25 10:16 尹吴潇 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 树链剖分 kd-tree sg函数 线段树合并 dsu on tree http://acm.hdu.edu.cn/showproblem.php?pid=5420 写 连通分量 缩点 网络流 fft 阅读全文
posted @ 2020-09-28 21:27 尹吴潇 阅读(139) 评论(0) 推荐(0) 编辑
摘要: b1.in AAA b1.out 1 b2.in BACAABCA b2.out 5 b3.in EASKAKNSOJGSLSLGTNFDMTSSKPOFGBPPLOSEILDKDMQJSCFOII b3.out 36 阅读全文
posted @ 2020-08-10 09:55 尹吴潇 阅读(138) 评论(0) 推荐(0) 编辑
摘要: in 100100 200119 126159 169128 15590 9337 47177 22482 12784 116146 18187 103101 107181 208109 12656 90189 19252 95115 16437 64128 153110 12393 110187 阅读全文
posted @ 2020-08-06 09:17 尹吴潇 阅读(267) 评论(1) 推荐(1) 编辑
摘要: protect1.in 5 23 3 4 6 6 protect1.out 36 protect2.in 10 43 4 3 9 5 4 5 10 5 10 protect2.out 425 protect3.in 20 77 8 2 4 2 6 6 8 8 2 5 10 8 6 10 1 4 3 阅读全文
posted @ 2020-08-04 09:13 尹吴潇 阅读(111) 评论(0) 推荐(0) 编辑
摘要: input 1020554 308141745 3264726808 314753386 2776526096 316535779 743110690 1671424124 2725213499 249392247 14784 output 3 阅读全文
posted @ 2020-07-19 10:09 尹吴潇 阅读(136) 评论(0) 推荐(0) 编辑