![](https://img-blog.csdnimg.cn/0c46ff9826f74773896be41e2386d65b.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
51nod
51nod
EschatonAyane
风会带走我曾经存在过的证明
展开
-
【51nod 3144】超级购物【概率】
linklinklink分析:P(A∣B)=P(A∩B)P(B)P(A|B)=\frac{P(A∩B)}{P(B)}P(A∣B)=P(B)P(A∩B)BBB是选rrr个人 AAA是rrr个人中 钦定的一个iii对于iii 他的概率就应乘上pip_ipi 其余的即(1−pi)(1-p_i)(1−pi) 可以通过dfsdfsdfs枚举所有情况 最后累加CODE:#include<iostream>#include<cstdio>#include<algori.原创 2022-05-03 20:52:13 · 455 阅读 · 0 评论 -
【51nod 3145】扔球游戏【期望】
linklinklink分析:第iii个位置上为000 第i+1i+1i+1个位置上为111的概率为 nn+m×mn+m−1 (1≤i<n+m)\frac{n}{n+m}\times \frac{m}{n+m-1}~~_{(1≤i<n+m)}n+mn×n+m−1m (1≤i<n+m)期望就再乘上长度 ×(n+m−1)\times (n+m-1)×(n+m−1)答案即 n×mn+m\frac{n\times m}{n+m}n+mn×.原创 2022-05-03 16:32:42 · 1227 阅读 · 0 评论 -
【51nod 1632】B君的联通【期望】
linklinklink分析:每炸一条多一个连通块 n−1n-1n−1条概率为50%50\%50% 共n−12+1\frac{n-1}{2}+12n−1+1个最后答案即 (n+1)×2n−2(n+1)\times 2^{n-2}(n+1)×2n−2 注意取模CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg regis.原创 2022-05-03 16:05:14 · 222 阅读 · 0 评论 -
【51nod 1639】绑鞋带【概率】
linklinklink分析:nnn条鞋带 2n2n2n个头 如果当前绑了iii个 就剩下2n−2i2n-2i2n−2i个头钦定一个头 剩下2n−2i−12n-2i-12n−2i−1个头 肯定不能连一条鞋带上的 所以概率就是∏2n−2i−22n−2i−1\prod \frac{2n-2i-2}{2n-2i-1}∏2n−2i−12n−2i−2CODE:#include<iostream>#include<cstdio>#include<algorithm>.原创 2022-05-03 15:20:13 · 220 阅读 · 0 评论 -
【51nod 1381】硬币游戏【期望】
linklinklink分析:注意到nnn为大于111的整数 直线间距离为111与半径为rrr的圆相交且有相切的直线有2×r+12\times r+12×r+1条 概率为1∞\frac{1}{\infty}∞1 无相切则有2×n2\times n2×n条 概率为1−1∞1-\frac{1}{\infty}1−∞11∞\frac{1}{\infty}∞1其实就是000 1−1∞1-\frac{1}{\infty}1−∞1为111答案就是n×2n\times 2n×2CODE:#inc..原创 2022-05-03 09:24:44 · 127 阅读 · 0 评论 -
【51nod 3050】2维切方格【数学】
linklinklink分析:xxx轴方向会经过mmm个方格 yyy轴方向会经过nnn个方格但是斜着走会有重复经过的 也就是方格顶点 个数为 Gcd(n,m)Gcd(n,m)Gcd(n,m)所以答案为 n+m−Gcd(n,m)n+m-Gcd(n,m)n+m−Gcd(n,m)CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include&.原创 2022-03-10 20:21:29 · 325 阅读 · 0 评论 -
【51nod 2489】小b和灯泡【数学】
linklinklink分析:当前灯泡亮的次数为当前编号的约数个数 那么只有奇数次最后才会亮只有完全平方数的约数个数为奇数 所以就是问你 111 到 nnn 有多少个完全平方数所以答案为 n\sqrt{n}nCODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define reg registe.原创 2022-03-10 20:13:01 · 183 阅读 · 0 评论 -
【51nod 2493】二进制距离之和【位运算】
linklinklink分析:n2n^2n2暴力比较 可以将两数xorxorxor后看有多少个111复杂度 O(n2logn)O(n^2logn)O(n2logn)也可以把每个数二进制拆开 若该位有cnt1cnt_1cnt1个111 cnt0cnt_0cnt0个000 最后就会产生cnt0×cnt1cnt_0\times cnt_1cnt0×cnt1个不同复杂度 O(nlogn)O(nlogn)O(nlogn)CODE:#include<iostream>#includ.原创 2022-02-25 20:59:32 · 449 阅读 · 0 评论 -
【51nod 3062】n皇后问题 V2【位运算dfs】
linklinklink分析:位运算加速nnn皇后可以用三个二进制数记录每行上 每列以及两条斜线的占用情况 那么三个或起来 就得到了该行的所有禁位 取反就是所有可以放的位得出每行可以放的位后 用lowbitlowbitlowbit即可找出放的位置CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerus.原创 2022-02-25 20:38:19 · 345 阅读 · 0 评论 -
【51nod P3210】二进制统计
linklinklink分析:暴力随便过CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;typedef long long ll;int T,ans[35];int main(){ scanf("%d",&T); while(T--) { .原创 2022-02-19 16:52:49 · 137 阅读 · 0 评论 -
【51nod P2527】Or 和 Sum【位运算】
linklinklink分析:众所周知 a∣b+a&b=a+ba|b+a\&b=a+ba∣b+a&b=a+b判断a&ba\&ba&b为111的位在a∣ba|ba∣b也为111即可CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespa.原创 2022-02-19 16:41:00 · 145 阅读 · 0 评论 -
【51nod P3395】n位格雷码【位运算】
linklinklink分析:nnn位格雷码最多有2n2^n2n个对于一个二进制数xxx 若xxx的第iii位与第i+1i+1i+1位相同 则格雷码的第i+1i+1i+1位为000 否则为111很显然 这就是异或CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace st..原创 2022-02-19 16:01:55 · 196 阅读 · 0 评论 -
【51nod P3047】位移运算【位运算】
linklinklink分析:如果aaa可以变成bbb 那么去掉前导后缀000的b′b'b′ 一定是aaa的子串判断子串对aaa进行>>>>>>得到a′a'a′ 若a′&b′=b′a'\&b'=b'a′&b′=b′ 说明b′b'b′为111的位在a′a'a′也是111看a′xor b′a'xor~b'a′xor b′得到的ccc 若ccc最低位的111比b′b'b′最高位的111高 b′b'b′才为a′a'a′的子.原创 2022-02-19 15:27:40 · 187 阅读 · 0 评论 -
【51nod P2653】区间xor【位运算】
linklinklink分析:记录[1,b][1,b][1,b]和[1,a−1][1,a-1][1,a−1]的异或值A,BA,BA,B 和前缀和类似 答案就是A xor BA~xor~BA xor BCODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing n.原创 2022-02-19 09:30:49 · 392 阅读 · 0 评论 -
【51nod P2102】或减与【位运算】
linklinklink分析:或减与 就是异或 也可以直接算CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;typedef long long ll;ll a,b;int main(){ scanf("%lld%lld",&a,&b);.原创 2022-02-19 09:12:46 · 289 阅读 · 0 评论 -
【51nod P3216】授勋【位运算】
linklinklink分析:勋章都是222的幂次 所以就是问每个数的二进制有多少个111CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;typedef long long ll;int n,x; int main(){ scanf("%d",&..原创 2022-02-19 08:56:54 · 160 阅读 · 0 评论 -
【51nod P2106】一个奇数次【位运算】
linklinklink分析:异或一个数出现偶数次 它们的异或值就为000 否则为这个数CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;typedef long long ll;int n,x,ans; int main(){ scanf("%d",&.原创 2022-02-19 08:49:39 · 280 阅读 · 0 评论 -
【51nod P2636】卡车加油【堆,贪心】
linklinklink分析:按距离最近的走 选其中油最多的加 就可以用堆维护CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#define reg registerusing namespace std;typedef long long ll;const int N=1e4+5;int .原创 2022-01-20 16:41:10 · 133 阅读 · 0 评论 -
【51nod P2673】最短路径【堆优化Dijk】
linklinklink分析:这种屑数据真的要堆优化吗 floyedfloyedfloyed都可过CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#define reg registerusing namespace std;typedef long long ll;const int N=..原创 2022-01-20 11:15:44 · 331 阅读 · 0 评论 -
【51nod P3111】小明爱拦截【LAS】
linklinklink分析:看到数据范围 nlognnlognnlogn求最长不上升子序列就在upper_boundupper\_boundupper_bound后面加上greatergreatergreater就可以二分查找第一个小于等于的位置当然也可以树状数组做nlognnlognnlognCODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring&..原创 2022-01-19 20:28:44 · 92 阅读 · 0 评论 -
【51nod P3058】小明爱集合【Set】
linklinklink分析:相似度===相同元素数///总元素数 用setsetset可以求出不同元素数CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<set>#define reg registerusing namespace std;typedef long long ll;int T,n,m;..原创 2022-01-19 11:10:22 · 276 阅读 · 0 评论 -
【51nod P3057】数字去重【Set】
linklinklink分析:把数存进setsetset再输出CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<set>#define reg registerusing namespace std;typedef long long ll;int n;set<int> a;int main.原创 2022-01-19 10:49:07 · 207 阅读 · 0 评论 -
【51nod P3059】最近的一对
linklinklink分析:记录每个数的上一个位置 取最小长度并记录当前的数 mapmapmap实现CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<map>#define reg registerusing namespace std;typedef long long ll;const int N=..原创 2022-01-19 10:15:44 · 149 阅读 · 0 评论 -
【51nod P3202】子集和判断
linklinklink分析:直接看BBB里面xxx元素数量是否少于AAA的 如果多了就不是子集 用mapmapmap也行CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<vector>#include<map>#define reg registerusing namespace std;ty.原创 2022-01-19 09:36:04 · 225 阅读 · 0 评论 -
【51nod P1094】和为k的连续区间【Map】
linklinklink分析:前缀和 枚举两端就可ACACAC优化 先把前缀和存起来 因为sumr−suml−1=ksum_r-sum_{l-1}=ksumr−suml−1=k 枚举左端点时 可以先看是否出现过 再去枚举右端点然后发现连bitsetbitsetbitset都不行 只能用mapmapmap了!!!CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<.原创 2022-01-18 20:23:02 · 110 阅读 · 0 评论 -
【51nod P2456】最小约数 V2
linklinklink分析:枚举每个数 不是质数就可以把它及它的因数记录下来 vectorvectorvector可以防止炸数组发现要排序 所以直接存进小根堆就行了!!!CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<vector>#include<queue>#define reg reg..原创 2022-01-18 19:46:00 · 75 阅读 · 0 评论 -
【51nod P3200】学习委员候选人【模拟】
linklinklink分析:随便模拟 排序那里可以vector+pairvector+pairvector+pair 懒得改了注意 权重相同按输入顺序输出 不是字典序!!后面才发现(CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;const int N..原创 2022-01-18 16:59:18 · 181 阅读 · 0 评论 -
【51nod P3056】小明爱数列【Vector】
linklinklink分析:vectorvectorvector模拟CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<vector>#define reg registerusing namespace std;typedef long long ll;int n,k;vector<int>..原创 2022-01-18 10:52:04 · 212 阅读 · 0 评论 -
【51nod P2353】排队问题
linklinklink分析:vectorvectorvector存原位置 排完序再计算距离CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<vector>#define reg registerusing namespace std;typedef long lo.原创 2022-01-18 09:57:37 · 122 阅读 · 0 评论 -
【51nod P1874】字符串排序
linklinklink分析:显然是按逆序对个数排序本来想树状数组的 感觉很麻烦 所以就上暴力了 pairpairpair排序更方便CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;typedef long long ll;const int N=105;..原创 2022-01-18 09:37:43 · 196 阅读 · 0 评论 -
【51nod P1264】线段相交【计算几何,线段相交】
linklinklink分析:判断线段相交 可能炸long longlong~longlong long所以把叉积换成 111 和 −1-1−1 去判断CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define reg registerusing namespace std.原创 2022-01-16 20:37:56 · 115 阅读 · 0 评论 -
【51nod P1275】连续子段的差异【单调队列】
linklinklink分析:维护两个单调队列 单调增和单调减 这样就可以维护以 iii 结尾的最长合法子序列这段合法的小子序列个数 即这个最长序列的长度CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namespace std;const int N=5e4+5; int n,k.原创 2022-01-15 10:20:32 · 106 阅读 · 0 评论 -
【51nod P1272】最大距离【堆】
linklinklink分析:小根堆 先处理最小的位置 用堆顶去减就是了CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namespace std;const int N=5e4+5;int n,ans,tmp;priority_queue<pair<int,int&g.原创 2022-01-14 15:05:50 · 103 阅读 · 0 评论 -
【51nod P2491】移掉K位数字【单调栈】
linklinklink分析:把小数字前移 大的就删掉 单调栈 注意删前导000 以及删不满kkk位CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<stack>#define reg registerusing namespace std;typedef long long ll;const int N=.原创 2022-01-14 14:12:54 · 87 阅读 · 0 评论 -
【51nod P2478】小b接水【贪心】
linklinklink分析:对于每个位置 找出当前高度 iii 前后比 iii 高的 用两边较矮的减去 iii 就是水CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define reg registerusing namespace std;typedef long long ll;const int N=5e4+5;int ..原创 2022-01-13 19:45:07 · 65 阅读 · 0 评论 -
【51nod P1279】扔盘子【单调栈】
linklinklink分析:用 aia_iai 表示到第 iii 层能通过的宽度 即最窄宽度每个盘子和这些宽度比较 如果刚好大于就可以落进 然后将这层poppoppopCODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<stack>#define reg registerusing namespace s..原创 2022-01-13 16:02:31 · 109 阅读 · 0 评论 -
【51nod P3111】小明爱拦截【树状数组】
linklinklink分析:最长不上升子序列 那就可以把最长不下降子序列倒过来做CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#define reg registerusing namespace std;typedef long long ll;const int N=1e5+5;i..原创 2022-01-13 10:35:53 · 56 阅读 · 0 评论 -
【51nod P3122】小陶的疑惑2【树状数组】
linklinklink分析:区间修改单点查询 可用树状数组差分实现CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<stack>#define reg registerusing namespace std;typedef long long ll;const int N=2e5+5;int n,Q;..原创 2022-01-13 10:19:07 · 151 阅读 · 0 评论 -
【51nod P3121】小陶与杠铃片【树状数组】
linklinklink分析:逆序对个数 要去重CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<stack>#define reg registerusing namespace std;typedef long long ll;const int N=5e5+5;ll n,ans,c[N],qwq[N.原创 2022-01-13 10:01:00 · 84 阅读 · 0 评论 -
【51nod P2500】后面第一个大于【单调栈】
linklinklink分析:单调栈倒着做 ansansans就是栈顶到第一个找出最大的距离CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<stack>#define reg registerusing namespace std;typedef long long ll;const int N=3e4+.原创 2022-01-13 09:18:56 · 121 阅读 · 0 评论