
51nod
SSL_GYX
座右铭:言念君子,温其如玉。
展开
-
【51nod】3210 二进制统计
二进制统计Link解题思路暴力统计即可。code#include<iostream>#include<cstdio>using namespace std;int n;int ans[40]; int count(int t){ int s=0; while(!(t&1)) s++,t>>=1; return s;}int main(){ cin>>n; for(int i=1;i<=n;i++原创 2022-02-26 08:43:47 · 249 阅读 · 0 评论 -
【51nod】2527 Or 和 Sum
Or 和 SumLinkcode#include<iostream>#include<cstdio>#define int long longusing namespace std;int a,b,c;signed main(){ cin>>a>>b; c=b-a; if(a>b) printf("Impossible\n"); else if((a&c)==c) printf("Possible\n"原创 2022-02-26 08:23:26 · 169 阅读 · 0 评论 -
【51nod】3395 n位格雷码
n位格雷码Link解题思路若某一位上数字和上一位相等,那这一位就是 111 ,否则是 000 ,就可以用亦或来做。code#include<iostream>#include<cstdio>#define int long longusing namespace std;int n;void output(int x){ int a[20],tot=0; while(x) a[++tot]=x%2,x>>=1; for(int i=n;原创 2022-02-19 16:31:07 · 310 阅读 · 0 评论 -
【51nod】2106 一个奇数次
一个奇数次Link解题思路如果一个数被亦或两次,那么相当于没有亦或。数据中只有一个出现奇数次的数,所以把所有数亦或一遍,结果就是奇数次的数。code#include<iostream>#include<cstdio>using namespace std;int n,ans;int main(){ cin>>n; for(int i=1;i<=n;i++) { int t; scanf("%d",&t); an原创 2022-02-19 15:52:44 · 338 阅读 · 0 评论 -
【51nod】3216 授勋
授勋Link解题思路二进制拆分。code#include<iostream>#include<cstdio>using namespace std;int n;int main(){ cin>>n; while(n--) { int a,ans=0; scanf("%d",&a); while(a) { ans+=a&1; a>>=1; } printf("%d\n",ans原创 2022-02-19 15:50:15 · 327 阅读 · 0 评论 -
【51nod】2102 或减与
或减与Link解题思路大难题,比 a+b problema+b~problema+b problem 难多了(code#include<iostream>#include<cstdio>using namespace std;int a,b;int main(){ cin>>a>>b; cout<<(a|b)-(a&b)<<endl;}...原创 2022-02-19 15:48:18 · 354 阅读 · 0 评论 -
【51nod】2653 区间xor
给出区间(a,b),b >= a,求a xor (a+1) xor (a+2).....xor b。原创 2022-02-19 15:38:07 · 154 阅读 · 0 评论 -
【51nod】3047 位移运算
给出两个数a,b。问a能否只通过位移运算( >>和 << 可以多次使用)变成b。如果可以输出"Yes",否则输出"No"。原创 2022-02-19 15:35:00 · 584 阅读 · 0 评论 -
【51nod】2596 邻之差为K
邻之差为KLink解题思路DFSDFSDFS 暴力跑。code#include<iostream>#include<cstdio>using namespace std;int n,m;void dfs(int dep,int s){ if(dep==n) { cout<<s<<" "; return; } if(s%10-m>=0) dfs(dep+1,s*10+s%10-m); if(s%10+m&l原创 2022-01-19 09:50:18 · 185 阅读 · 0 评论 -
【51nod】3058 小明爱集合
小明爱集合Link解题思路因为集合内不会重复,setsetset 不兼容重复,所以直接把所以数据丢到 setsetset 里面,最后 n+mn+mn+m 和剩下数字的差就是重复的个数。code#include<iostream>#include<cstdio>#include<set>using namespace std;int T;int n,m,t;set<int> a;int main(){ cin>>原创 2022-01-19 09:34:27 · 332 阅读 · 0 评论 -
【51nod】3057 数字去重
数字去重Link解题思路setsetset 操作模板。code#include<iostream>#include<cstdio>#include<set>using namespace std;int n;set<int> a;int main(){ cin>>n; for(int i=1;i<=n;i++) { int t; scanf("%d",&t); a.insert(t);原创 2022-01-19 08:32:23 · 271 阅读 · 0 评论 -
【51nod】3059 最近的一对
最近的一对Link解题思路mapmapmap 存储每个数上次出现的位置。code#include<iostream>#include<cstdio>#include<map> using namespace std;int n,l,r=0x3f3f3f3f,ans;map<int,int> a;int main(){ cin>>n; for(int i=1;i<=n;i++) { int t; s原创 2022-01-19 08:14:05 · 213 阅读 · 0 评论 -
【51nod】3202 子集和判断
子集和判断Link解题思路mapmapmap 存 AAA ,对 BBB 判断。code#include<iostream>#include<cstdio>#include<map>using namespace std;int T;int n,m;map<int,int> a;int main(){ cin>>T; while(T--) { scanf("%d%d",&n,&m);原创 2022-01-19 08:06:20 · 202 阅读 · 0 评论 -
【51nod】1094 和为k的连续区间
和为k的连续区间Link解题思路前缀和暴力判断。code#include<iostream>#include<cstdio>#define int long long using namespace std;int n,m;int a[10010];signed main(){ cin>>n>>m; for(int i=1;i<=n;i++) scanf("%lld",&a[i]),a[i]+=a[i-1]原创 2022-01-18 22:06:10 · 94 阅读 · 0 评论 -
【51nod】2456 最小约数 V2
最小约数 V2Link解题思路排序,暴力。code#include<algorithm>#include<iostream>#include<cstdio>using namespace std;int n,maxn;int a[1010];int main(){ cin>>n; for(int i=1;i<=n;i++) scanf("%d",&a[i]),maxn=max(maxn,a[i]); so原创 2022-01-18 21:52:44 · 163 阅读 · 0 评论 -
【51nod】3200 学习委员候选人
学习委员候选人Link解题思路模拟。分别对语文、数学排序,得到排名后判断是否满足条件,记录权值再排序。code#include<algorithm>#include<iostream>#include<cstdio>#include<string>using namespace std;int n;int v[50010];string nam[50010];struct abc{ int num,id;}yw[50010原创 2022-01-18 21:28:06 · 150 阅读 · 0 评论 -
【51nod】3056 小明爱数列
小明爱数列Link解题思路vectorvectorvector 操作模板题。code#include<bits/stdc++.h>using namespace std;int n,T;vector<int> a;int main(){ cin>>n>>T; for(int i=1;i<=n;i++) { int t; scanf("%d",&t); a.push_back(t); } while原创 2022-01-18 19:39:42 · 336 阅读 · 0 评论 -
【51nod】1264 线段相交
线段相交Link解题思路快速排斥实验+三点共线 or 跨立实验code#include<iostream>#include<cstdio>using namespace std;int T;struct abc{ double x,y;}a1,a2,a3,a4;double cj(abc b1,abc b2,abc b3){ return (b1.x-b3.x)*(b2.y-b3.y)-(b2.x-b3.x)*(b1.y-b3.y);}in原创 2022-01-18 10:23:39 · 212 阅读 · 0 评论 -
【51nod】2353 排队问题
排队问题Link解题思路排序累加先后位置差。code#include<algorithm>#include<iostream>#include<cstdio>using namespace std;int n;struct abc{ int x,id;}a[10010];int _abs(int x){ return x>0?x:-x;}int cmp(abc x,abc y){ return x.x<y.x;原创 2022-01-17 21:38:30 · 388 阅读 · 0 评论 -
【51nod】1874 字符串排序
字符串排序Link解题思路sort+structsort+structsort+struct。code#include<algorithm>#include<iostream>#include<cstdio>#include<string>#define int long longusing namespace std;int n,m;struct abc{ string s; int sum,id;}a[110];i原创 2022-01-17 20:48:33 · 344 阅读 · 0 评论 -
【51nod】1272 最大距离
最大距离Link解题思路把尽量前的数字和后面的数字匹配是最优的,排序后用单调栈维护当前点可以到的最远距离。code#include<algorithm>#include<iostream>#include<cstdio>#define fst first#define scd secondusing namespace std;int n,m,ans;int b[100010],top;pair<int,int> a[10001原创 2022-01-16 21:49:44 · 172 阅读 · 0 评论 -
【Luogu】UVA1619 Feel Good
Feel GoodLink解题思路预处理出每个点可以作为最小值的区间的左右端点。code#include<iostream>#include<cstring>#include<cstdio>#define int long longusing namespace std;int n;int a[100010];int b[100010];int r[100010];int l[100010];int z[100010],top;vo原创 2022-01-16 21:16:55 · 136 阅读 · 0 评论 -
【51nod】2491 移掉K位数字
移掉K位数字Link解题思路显然把尽量小的数字放在尽量前是最优的。单调栈维护。code#include<iostream>#include<cstdio>using namespace std;int n,m,ans;int a[50010];int b[50010];int main(){ cin>>n>>m; a[0]=0x3f3f3f3f; for(int i=1;i<=n;i++) scanf("%d"原创 2022-01-16 20:53:55 · 153 阅读 · 0 评论 -
【51nod】1279 扔盘子
扔盘子Lind解题思路先把井处理成自下而上单调递增的。枚举每一层,一个盘子留在这一层只有两种情况:被下面一层卡住。正下方有一个盘子且这一层可以放下这个盘子。code#include<iostream>#include<cstdio>using namespace std;int n,m,ans;int a[50010];int b[50010];int main(){ cin>>n>>m; a[0]=0x3f3f3原创 2022-01-16 20:41:16 · 99 阅读 · 0 评论 -
【51nod】2478 小b接水
小b接水Link解题思路特别奇怪的一道题,只需要预处理出每个积木左边和右边最高的积木,取最小值就是这个积木可以储存的水,累加即可。code#include<iostream>#include<cstdio>#define int long longusing namespace std;int n, ans;int a[50010], b[50010], c[50010];signed main(){ cin>>n; for(int i原创 2022-01-16 20:31:35 · 184 阅读 · 0 评论 -
【51nod】2500 最后一个大于
最后一个大于Link解题思路单调栈模板题。code#include<iostream>#include<cstdio>#define int long long#define mp make_pair#define fst first#define scd secondusing namespace std;int n,top;int a[3000010];int ans[3000010];pair<int,int> b[3000010原创 2022-01-16 20:03:13 · 174 阅读 · 0 评论