随笔分类 - 构造题
摘要:A(模拟) 按题意模拟至指令达到上限 #include<bits/stdc++.h> #define rep(i,s,t) for(int i=(s),i##end=(t);i<=i##end;i++) #define dwn(i,s,t) for(int i=(s),i##end=(t);i>=i
阅读全文
摘要:A(费马小定理) 当$n<100$的时候,用最后一行直接暴力 否则考虑费马小定理:$10^{p-1}\equiv 1\ (mod p)$,即步长为$p-1$时的和可以直接使用,利用$p-1$行计算即可 #include<bits/stdc++.h> #define rep(i,s,t) for(in
阅读全文
摘要:A 签到题,分别计算两种情况边的贡献,注意奇偶性的影响 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define db double #define ld long double #define ull u
阅读全文
摘要:A 先构造出$1-8,16$这$9$个数,共需要$17$步 之后按照每四位一个单位构造数$x$,若$x$的末四位$\le 8$可以直接加,否则需要在之前$+1$然后减去一个$<8$的数 这样每一个$4$位最多用两步即可解决,一共最多$17+16\times2+1=50$步 (注意一直进位使得整个数多
阅读全文
摘要:A 先不考虑空间的限制,考虑每次一个字符串转变的情况,需要找到$trie$树上第一个独立于剩余字符串的前缀 则这个前缀即为这次所需的前缀,但需要考虑这个前缀可以替代之前的前缀的情况 新开一个$num$数组记录$trie$树上每个节点在前缀中出现了几次,则每次新增答案为找到节点的$1-num[x]$
阅读全文
摘要:A 计算几何 咕 B 很猛的数学题 咕 C 共有$\binom{n}{3}\(个三元环,\)\binom{n}{2}$条边,要删到$n-1$条边 需要至少删$\frac{1}{3}(\frac{n(n-1)}{2}-(n-1))=\frac{(n-1)(n-2)}{6}$个没有重复边的三元环 考虑将
阅读全文
摘要:A 圆方树 咕 B 显然开盒子的顺序应按照$w$升序,而$hint$若选择使用应该在一开始就使用 在使用$hint$的情况下,因为知道$01$的总数,每种情况应当在最后一段连续的$0/1$前终止 即$100\cdots 0$此类情况,在$0$处截止,其花费为$sum_i$即到$0$处$w$的前缀和
阅读全文
摘要:A 很猛的生成函数 咕 B 不妨考虑将题意转化为图,设$0$为起始点,$n+1$为终止点 假设当前在$i$点,下一次生成的数需要更大才能继续,即每次可以走到$i+1,\dots n$这些点 而对于生成更小数的情况则代表了结束,对这种情况我们对$i$向$n+1$连这些概率的边代表结束 设$f_i$表示
阅读全文

浙公网安备 33010602011771号