随笔分类 - 考试
摘要:~~暴力基本打满了~~ A. count 比较容易发现一个大小如果能分,那么方案唯一,于是可以枚举因子$check$ 但是由于$cdsidi$造了点极限数据,所以$dfs$写法不能过,可以写成$bfs$,或者用下面这个貌似正确,但是不能理性证明的东西 当一个大小$x$合法,必然有$>=n/x$个$s
阅读全文
摘要:A. ^_^ 考虑一个节点有贡献,当且仅当它比子树内所有点先被选中,那么显然答案就是 $\sum1/size[x]$ code #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace
阅读全文
摘要:A. 序列 看起来就像辗转相除,果然取个$gcd$就可以了 code #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn = 1e5 + 55; inline int r
阅读全文
摘要:A. 暗之链锁 树剖维护一下即可,其实树上差分也可 注意线段树空间开四倍!!!!!!!!!! 左移$2$ code #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long lon
阅读全文
摘要:A. 烷基计数 $f[i]$表示由$i$个碳原子构成的烷基数量 $g[i][j]$表示由$i$个碳原子构成的只有两棵子树,其中较小的一棵大小为$j$的烷基数量 求$f[i]$,先考虑只有两棵子树的情况,如果两个子树大小不一样那么有$f[j] * f[i - 1 - j]$种方案,如果两棵子树大小相同
阅读全文
摘要:又双叒叕垫底 A. Start 大模拟,搞心态啊 考场打出来,因为负数下取整的问题挂了$55$ 可恶 ~~愿世上再无大模拟,愿大模拟不考细节~~ code #include<cstring> #include<iostream> #include<algorithm> #include<cmath>
阅读全文
摘要:终于快填完坑了,~~只差一个进化了~~ A. inversions 发现各个长度中的逆序对个数互不影响,而某个长度内的逆序对个数只会是正/反数列中逆序对个数,其只与长度大于等于它的区间翻转次数有关,所以用归并排序预处理每个长度对应的逆序对数,每次$O(n)$累加即可 code #include<cs
阅读全文
摘要:又双叒叕垫底, A 旅行日记 判断一下即可?注意一下细节 code #include<cstring> #include<cstdio> #include<algorithm> using namespace std; inline int read(){ int x = 0; char c = g
阅读全文
摘要:打了一半就跑了,,,垫底垫底 A. 活动投票 摩尔投票,想象让投票不同的两个人同归于尽,选票过半的人的支持者肯定有活下来的 code #include<cstdio> #include<cstring> #include<algorithm> using namespace std; inline
阅读全文
摘要:A. 学数数 单调栈 + 排序 + 前缀和 + 二分 单调栈应该是左边乘右边,考场脑抽写成长度。 对$lowe_bound$,$upper_bound$使用不熟 code #include<cstdio> #include<cstring> #include<algorithm> using nam
阅读全文
摘要:日常垫底,赛个球 A. 玩个球 组合数$DP$,搞了个傻逼性质在那乱转移,结果还是只有$n == 2$的分,有趣的是中间交的一份码过了$n == 3$的,但是不是最后一次提交。。 正解 $dp[i][j]$表示放了$i$个白球,有$j$个颜色放完的方案数,主要思想在枚举剩余位置的第一个放啥 考虑放白
阅读全文
摘要:甲国的军队 按照$b[i] - a[i]$排序即可,考场想法是$b[i] - a[i]$代表的是可以重复利用的,显然选大的 code #include<cstdio> #include<cstring> #include<algorithm> using namespace std; inline
阅读全文
摘要:A. 随 开桶,然后就是乘 正解用什么多项式的思路考虑,但其实是个快速幂优化 发现开桶后就是一个特定乘法,满足结合率交换律,所以直接快速幂优化 code #include<cstdio> #include<cstring> using namespace std; const int MOD = 1
阅读全文
摘要:A. Race 容易想到$tire$树,也容易想到判断两数大小关系在于第一个不同的二进制位 一个重要的点(我没想到):积分相当于排在它前面的人构成的点对数 通过在$tire$树上取反向$size$可以得到$O(n*m^3)$的做法,然后展开一下式子,或者观察一下二进制数, 展开平方得到一堆$a^2
阅读全文
摘要:首先感谢学长 A. Alice 打表好题, 通过打表可以发现就是判断两个数$lowbit$是否相等 实测$cin$, $cout$不如$scanf$和$printf$快~~(血的教训)~~ code #include<cstring> #include<cstdio> using namespace
阅读全文
摘要:考的烂得不行,还是应该多敲暴力搞分啊。。。 A. 电压机制 首先容易发现实际上是找去掉一条边后,剩下的是一个二分图的边数 然后发现这条边一定不在偶环上,一定在所有奇环上(或者根本没有奇环) 如果$DFS$显然不对,因为你没法打$vis$,所以考场上想到这就跳了。。 实际上,这种跟环有关的,都可以借鉴
阅读全文
摘要:大悲 A. 交通 发现如果删掉一条边$x->y$,那么$z->y$一定不能删,也就是说$z->p$一定要删,给边打个标记,对没有标记过的边进行“删除”,将与其“绑定”的边一块标记,最后得到的删除次数能求出答案,\(2^{进入标记的次数/2}\) code #include<cstdio> #incl
阅读全文
摘要:又双叒叕炸了。 A.LCIS 蓝书原题,但是我没有蓝书.. 没关系反正水过了 复杂度极其不正确 好在老殷复杂度也不对所以没有上交数据 $upd:$好了,看懂了,懒得打了,粘一下 考场打的非常诡异,头一回觉得$vector$这么好用,大爱vector $f[i][j]$表示$a$前$i$个$b$前$j
阅读全文
摘要:相对而言,试题比较水,数据也不强,不过以后数据就强了,毕竟有$lyin$大佬卡掉一切 2A ip 简单模拟,有点细节,比如$000$,可恶,痛失$20$分 $long long$也是可以卡掉的,数字应该只要大于$255$,就设成$255$ 懒得改了 $art$加了这个$hack$,然而没有卡掉$lo
阅读全文
摘要:又双叒叕考炸了。。。 A. 光 我好像也被叫做光来着 这题,怎么说呢,不能说恶心,只能说非常恶心。 他是个大模拟!!!! 心态都打炸了,最后取得了$0$分好成绩 代码能力差,而且读题有问题,没有特别注意方向。。 这题思路比较简单,情况有点多,大力讨论吧。 码量还好,也就$57$行($loj$标准格式
阅读全文

浙公网安备 33010602011771号