摘要: 换个角度思考,算贡献 总共$n!$种,不是$Cat_n$种,无法像卡特兰数那样DP 20pts 阶乘枚举 SOL: 思考方式:点不行,我们算每条边的贡献!!! 枚举边(枚举点i,边只这个点通向其fa的边),再枚举sz(子树大小) 1. 每对贡献$sz (n sz)$ 2. 子树内的方案$sz!$,与 阅读全文
posted @ 2020-04-01 15:22 starusc 阅读(139) 评论(0) 推荐(0)
摘要: 心路历程 $r l=r$的串若为A串且贡献为正即可加入,对于每一个B的位置预处理,时间复杂度$O(nlog_n+(r l)n+q)$ $r l 2000$后缀自动机+线段树合并,倍增找到点,跳endpos,跳的次数不会太多 SOL 数据有点特别啊~ $r l\in[51,2000]$和 2000做法 阅读全文
posted @ 2020-04-01 12:22 starusc 阅读(169) 评论(0) 推荐(0)
摘要: 心路历程 50pts 黑周围选奇数条边,白周围选偶数条边,然后$nm^3$异或消元 初始是白是什么意思啊? 又或者删一个点有什么便捷算法? SOL 貌似 按顺序消元会得到一些良心结论 一条边$u,v$,我们把第v行变成第u行异或第v行就消掉了这条边(u,v合并后的星点) 若一条边的两个端点已经在一个 阅读全文
posted @ 2020-03-31 21:19 starusc 阅读(153) 评论(0) 推荐(0)
摘要: \[ \frac{y_2-y_1}{x_2-x_1}<k \] 满足这个式子表示$(x_2,y_2)\(比\)(x_1,y_1)$优 为什么是凸包,上凸还是下凸? 下凸,最优点的左边斜率都小于k,右边都大于k 让最优点停留某个点上,不会到处根据条件到处跑 阅读全文
posted @ 2020-03-31 20:03 starusc 阅读(134) 评论(0) 推荐(0)
摘要: 自己思考的: 一个$v_i$,可以产生$gcd(p,v_i)$的贡献 然后多个贡献,枚举所有的$gcd$? SOL: 1e9 以内的数不同质因子不会超过10个,且所有质因子指数和不会超过30,实测约数个数最多的自然是仅有1536个约数 显然是要用DP $f[i][j]$表示前i个p的约数,gcd为j 阅读全文
posted @ 2020-03-31 18:31 starusc 阅读(144) 评论(0) 推荐(0)
摘要: 线段树维护单调栈 又是一道非常棒的思维题!!! SOL: 问题转化(倒着思考) t时刻在某点,每次可以向后走一步或留在原地,然后t减1 每个点在$T_i$消失,求最小的$t$使得所有点都可以在消失前被访问 于是惊奇地发现留在原地一定不优,会一直往前走 破环为链(2倍),对于$i\in[n,2n)$走 阅读全文
posted @ 2020-03-31 14:55 starusc 阅读(174) 评论(0) 推荐(0)
摘要: 思路历程 1 4 20pts $2^nn$枚举 5 6 10pts $f[i][0/1]$ 7 8 10pts 基环树 总数 强制选多出来的那条边的两点 9 14 30pts $2^{m n+1}$枚举多出来的边容斥 100pts 虚树 SOL 对多出来的边的点建立虚树 其实不用容斥,每次强制每条边 阅读全文
posted @ 2020-03-31 12:39 starusc 阅读(128) 评论(0) 推荐(0)
摘要: 牛逼二进制 x&0=0,x|1=1 我们把$\&\to0,|\to1$,把操作用01串代替 于是转化为比大小的题目 桶排然后记录每个串的值方便求答案 时间复杂度$O(nm)$ 阅读全文
posted @ 2020-03-30 19:44 starusc 阅读(177) 评论(0) 推荐(0)
摘要: 非常棒的思维题!! 半天都做不起,我咋这么菜…… 一、 递增序列将每位 i就变成了非递减序列 于是我们将$a_i i$,最后将答案$+i$变成了求非递减序列 二、 考虑初中数学题 求$|x a|+|x b|$的最小值,显然$x\in[a,b](a using namespace std; inlin 阅读全文
posted @ 2020-03-30 17:28 starusc 阅读(170) 评论(0) 推荐(0)
摘要: 1. 数组的数据类型尽量往小开 2. 数组大小能减小就减小(STL也要考虑) 3. 减少临时变量与函数调用嵌套 4. 把可以不同时用的数组用一个数组表示就节约空间(详情操作间SCOI2018DAY1补充练习) 5. 优化算法 6. …… 阅读全文
posted @ 2020-03-28 17:18 starusc 阅读(178) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-03-28 17:07 starusc 阅读(0) 评论(0) 推荐(0)
摘要: 找性质,倒推 我简直是傻逼,题都没看完,然后半天做不起 一道简单的树形DP,但是要卡空间 $f[i][u][v]$从根到i,选了u条公路v条铁路的最小代价,显然答案是$f[1][0][0]$ 从叶子节点 倒推 阅读全文
posted @ 2020-03-27 20:03 starusc 阅读(103) 评论(0) 推荐(0)
摘要: 第$i$个数要放在第$a_i$个数的后面 有环无解 原思路: 连边,拓扑排序,只是每次弹出时弹$w_i$最大的 但这是错误的贪心思路,因为可能较小的后面都是很大的数 SOL: 还是连边,发现形成了一棵以0为根的树 当前权值最小的点$i$ 1. 若无父亲$a_i=0$,则直接选 2. 若有父亲,一定是 阅读全文
posted @ 2020-03-27 16:47 starusc 阅读(198) 评论(0) 推荐(0)
摘要: 一 $\sum_i\sum_j[lcm(i,j)=n],n\in[1,1e8]$ $=\sum_{i=1}^n\sum_{j=1}^n[i j=n gcd(i,j)]$ $=\sum_{d|n}\sum_{i=1}^{\frac{n}{d}}\sum_{j=1}^{\frac{n}{d}}[i j= 阅读全文
posted @ 2020-03-27 16:00 starusc 阅读(148) 评论(0) 推荐(0)
摘要: 拓扑排序优化暴力 "复杂度证明" 啥题都要看题解,我咋这么菜!!!…… SOL: 我们需要预处理出两个数组$l[i],r[i],i$点到左/右最远能到达那个点,这样便于$O(1)$回答询问 当然可以左右枚举,但是为了节省时间,我们想要继承左右点可到达的信息 于是枚举顺序就十分重要了 门$(x,x+1 阅读全文
posted @ 2020-03-27 14:48 starusc 阅读(165) 评论(0) 推荐(0)
摘要: 高斯消元算DP $f_i$表示k次减血减$i$滴血的概率 $f_i=\frac{C_k^im^{k i}}{(m+1)^k}$可以递推求出 然后方程的系数就很好算了 血量减爆的情况只与$E_0$的系数有关,但$E_0=0$所以不用管 等等,$n=1500$怎么高斯消元? 发现矩阵呈近似下三角矩阵 1 阅读全文
posted @ 2020-03-27 11:02 starusc 阅读(130) 评论(0) 推荐(0)
摘要: 此题实际就是序列上的问题(只是链的话不一定$u using namespace std; inline int read(){ int x=0,f=1;char c=getchar(); while(!isdigit(c)){if(c==' ')f= 1;c=getchar();} while(is 阅读全文
posted @ 2020-03-27 10:55 starusc 阅读(239) 评论(0) 推荐(0)
摘要: 大胆猜结论DP 很有意思的题目 考虑用DP模拟两人 $f[n][m][k],k$轮不知道后能否知道 首先$f[n][m][k]=f[n][m][k 2]$ 用$Alice$举例,$n m=x y$则除$(n,m)$外的$(x,y)$都要在$k 1$轮得知才能确定$(n,m)$,$Bob$推理同理 求 阅读全文
posted @ 2020-03-26 21:11 starusc 阅读(179) 评论(0) 推荐(0)
摘要: 首先有奇环肯定不行 手算一下发现下列两种不行: 不行的: 1. 奇环 2. 形成3个及以上的环$(m n+1)$ 3. $m=n+1$即两个偶环相交是相交的两个点之间的三条链不满足$2+2+偶数$ "详解" 用$dfs$+拓扑排序判一下即可 这个图有点特殊,咋一看出来是3个环,还以为是YES,但按上 阅读全文
posted @ 2020-03-26 16:47 starusc 阅读(290) 评论(0) 推荐(0)
摘要: 线段树好题 $n,m,1e5$ 二进制没有位除3的余数是以12121212……循环的 我们用总数减去不合法情况: 1. 只有1个1,0的个数 =2(保证不重复) 2. 奇数个1,0的个数=2个0的方案数,$fr$同理 在记录0/1的个数,左起/右起0的个数,答案 讨论更新即可 时间复杂度$O(nlo 阅读全文
posted @ 2020-03-26 16:33 starusc 阅读(249) 评论(0) 推荐(0)