D. Happy New Year!模拟

#include<bits/stdc++.h>
using namespace std;
int main(){ios::sync_with_stdio(false);int n;  cin>>n;int nn = n, ss = 0;while(nn>0){ss+=nn%10; nn/=10;}for(int i = n+1; i <= 9999; i++){int t = i, sum = 0;while(t>0){sum += t%10;  t/=10;}if(sum==ss){cout<<i<<"\n";return 0;}}return 0;
}

G.糖果 并查集

//如果这两个人是朋友,必须买相同的糖果数
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 1e6+10;
LL n, m, a[maxn];
LL b[maxn], c[maxn];int fa[maxn+10];
void init(int n){for(int i = 0; i <= n; i++)fa[i]=i;}
int find(int x){return x==fa[x]?x:fa[x]=find(fa[x]);}
void merge(int x, int y){x=find(x);y=find(y);if(x!=y)fa[x]=y;}
int count(int n){int cnt=0; for(int i = 1; i <= n; i++)if(fa[i]==i)cnt++;return cnt;}int main(){ios::sync_with_stdio(false);cin>>n>>m;for(int i = 1; i <= n; i++)cin>>a[i];init(n);for(int i = 1; i <= m; i++){int x, y;  cin>>x>>y;merge(x,y);}LL sum = 0;for(int i = 1; i <= n; i++){int x = find(i);//not fa[i]c[x]++;b[x] = max(b[x],a[i]);}for(int i = 1; i <= n; i++){sum += b[i]*c[i];}cout<<sum<<"\n";return 0;
}

H. 数字串 构造

//题意:定义转换为将一个字符串的每个字符s[i]-'a'+1形成的数字拼接所形成的新串。给出一个str,求构造一个不同的str但转换结果相同。
//思路:先转换str,然后考虑数字能否拆分和合并,比如15拆成1,5,或者1,5合成15。注意10和20不能拆或合
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 1e6+10;string s, ans;
int check1(){//拆分ans = "";for(int i = 0; i < s.size(); i++){int num = s[i]-'a'+1;if(num>10 && num!=20){ans += num/10+'a'-1;ans += num%10+'a'-1;}else {ans += s[i];}}return ans.size()!=s.size();
}
int check2(){//合并ans = "";for(int i = 0; i < s.size(); i++){int num = s[i]-'a'+1, num2 = s[i+1]-'a'+1;if((num==1||num==2) && (num2>=1&&num2<=6)){ans += num*10+num2+'a'-1;i++;}else{ans += s[i];}}return ans.size()!=s.size();
}int main(){cin>>s;if(check1()){cout<<ans<<"\n";return 0;}if(check2()){cout<<ans<<"\n";return 0;}cout<<"-1";return 0;
}

I. 序列的美观度 DP或贪心

//f[i]表示以第i个数字结尾的子序列的最大美观度
//转移:f[i] = max{f[j]+1}(a[i]==a[j]) 或 max{f[j]}(a[i]!=a[j])
//pos[i]维护前i个里面最后一个等于a[i]的位置,mx维护不等于a[i]的dp值中的最大值
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 1e6+10;
int a[maxn], pos[maxn], f[maxn];
int main(){int n;  cin>>n;for(int i = 1; i <= n; i++)cin>>a[i];int mx = 0;memset(pos,-1,sizeof(pos));for(int i = 1; i <= n; i++){if(pos[a[i]]==-1)f[i] = mx;else f[i] = max(mx,f[pos[a[i]]]+1);pos[a[i]] = i;mx = max(mx,f[i]);}cout<<mx<<"\n";return 0;
}

J. 加法和乘法 博弈论

/*题意:
桌面上n张牌,每轮玩家拿出两张,做加法或乘法后放回,牛牛先手。最后奇数则牛牛胜,求谁能胜。
思路:
如果最后一次操作是牛妹进行,则牛妹必胜。(奇数+奇数=偶数,偶数乘以任何数都等于偶数)
否则如果初始状态有至多一个偶数,牛牛总有办法把局面变成全部都是奇数然后交给牛妹,牛妹至多产生一个偶数,因此给牛牛时局面不变。在最终时由于最多只有一个偶数,所以牛牛必胜。
反之,如果初始状态有至少两个偶数,无论牛牛怎么操作,牛妹还给牛牛的时候一定还有至少两个偶数,所以牛牛最后面对的局面就是两个偶数,牛妹必胜。
*/
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 1e6+10;
int main(){int n;  cin>>n;if(n==1){int x;  cin>>x;printf("%s", x%2==1?"NiuNiu":"NiuMei");return 0;}int a=0,b=0;for(int i = 1; i <= n; i++){int x;  cin>>x;if(x%2==1)a++;else b++;}printf("%s", (n%2==1||b>1)?"NiuMei":"NiuNiu");return 0;
}

2021牛客寒假算法基础集训营3,签到题DGHIJ相关推荐

  1. 2022牛客寒假算法基础集训营6 签到题5题(附基础集训营4-6签到题总结)

    1.I-A+B问题 模拟,类似于高精度,竖式运算 #include<bits/stdc++.h> using namespace std; typedef long long LL; in ...

  2. 2022牛客寒假算法基础集训营3 签到题7题(附基础集训营1-3签到题总结)

    1.A-智乃的Hello XXXX 签到 #include<bits/stdc++.h> using namespace std; int main(){cout<<" ...

  3. 2022牛客寒假算法基础集训营4 签到题7题

    1.E-真假签到题 不难发现,或者随便枚举一下,可以得到f(n)=n的结论 #include<bits/stdc++.h> typedef long long LL; using name ...

  4. 2022牛客寒假算法基础集训营2 签到题7题

    1.C 小沙的杀球 如果你能够杀球但不杀球,虽然回复了体力,但你后续可能会没有机会继续杀球,并且杀球次数相同,那么回复的体力是相同的,所以在同等条件下,我们应该尽可能多的杀球. 不开long long ...

  5. 2022牛客寒假算法基础集训营1 签到题7题

    1.L.牛牛学走路 恭喜你 签到成功 #include<bits/stdc++.h> using namespace std; int main(){int T; cin>>T ...

  6. 2021牛客寒假算法基础集训营1 J 一群小青蛙呱蹦呱蹦呱

    今天的比赛没打( 睡午觉去了,今天太累了 晚上来看看题 2021牛客寒假算法基础集训营1 J 一群小青蛙呱蹦呱蹦呱 题目传送门 板子题( 我们知道由唯一分解定理得,若 n=p1α1×p2α2×p3α3 ...

  7. 【解题报告】2021牛客寒假算法基础集训营4

    [解题报告]2021牛客寒假算法基础集训营4 前面的话 A :九峰与签到题 | 模拟 (签到题) B: 武辰延的字符串 | exKMP D :温澈滢的狗狗 | 二分 E: 九峰与子序列 | d p d ...

  8. 2021牛客寒假算法基础集训营1

    2021牛客寒假算法基础集训营1 A. 串(线性DP) B. 括号(构造) E.三棱锥之刻(几何) F. 对答案一时爽(签到) I. 限制不互素对的排列(构造) J. 一群小青蛙呱蹦呱蹦呱 A. 串( ...

  9. 2021牛客寒假算法基础集训营2 D.牛牛与整除分块

    2021牛客寒假算法基础集训营2 D.牛牛与整除分块 题目链接 题目描述 整除分块,又称数论分块.是数论算法中的重要技巧,你可以在各种需要枚举因子的连续求和类问题中见到它的身影.如杜教筛,莫比乌斯反演 ...

  10. 2021牛客寒假算法基础集训营5 B.比武招亲(上)

    2021牛客寒假算法基础集训营5 B.比武招亲(上) 题目链接 题目描述 众所周知,天姐姐只喜欢天下最聪明的人,为了找到这样的人,她决定比武招亲! 只见天姐姐在榜上留下了这样一道问题,谁做出来了就可以 ...

最新文章

  1. 【oracle】dblink创建
  2. Django之路——6 Django的模型层(一)
  3. 线性结构基本概念【数据结构】F
  4. linux python 图形界面开发_python在linux制作图形界面(snack)
  5. 如何在java输入_怎么在java中编写输入语句?
  6. 经典排序算法(十九)--Flash Sort
  7. linux 基础命令(三)
  8. 【SpringBoot_ANNOTATIONS】属性赋值 01 @Value赋值
  9. Sqlserver2012卸载
  10. Allegro给一个网络赋默认值,取消默认值
  11. Docker中部署.NET CORE应用(控制台应用程序篇)
  12. 安装了防火墙之后还有必要安装杀毒软件吗
  13. [每日一氵] Python以管理员权限运行程序
  14. Toy例程导读(三).高级语言分析和转换
  15. Android APP开机自启动基本方法
  16. 阿里云8核16G服务器ecs.c6.2xlarge性能评测CPU处理器型号
  17. DocSys安装说明
  18. 如何让自己的收入翻了十倍
  19. 【独家】硅谷创业公司在中国常跌的五个坑|禾赛科技CEO李一帆柏林亚太周主题演讲...
  20. 密歇根安娜堡大学的计算机科学教授,密歇根大学安娜堡分校计算机科学与工程研究生offer及申请要求...

热门文章

  1. hard-negative mining 及伪代码实现
  2. 列表解析(list comprehension) 与三目运算符
  3. 【清单】语言、框架及库的官方文档、examples、tutorials
  4. latex 基本用法(四)
  5. 数据库报12516linux,ORA-12516故障解决
  6. 免费python全套视频教学-有哪些优质的Python全系列视频教程推荐,免费的收费的都可以?...
  7. python代码示例-《Python编程:从入门到实践》DEMO实例代码
  8. 自学python要多久-怎么自学python,大概要多久?
  9. python画柱状图-Python Excel 绘制柱形图
  10. 下载python教程-Python基础教程下载【黑马程序员完整版】