文章目录

  • 前言
  • A. Finding Maximal Non-Trivial Monotones
  • D. Displacing Particles
  • E. Eliminating Ballons
  • F. Multidimensional Hangman
  • I. Intercepting Information
  • J. Playing 23
  • 总结

前言

vp补题

A. Finding Maximal Non-Trivial Monotones

题意:给定只含有a,b的字符串,找到连续的a的个数(只有一个a记为0)

coding

void solve()
{int n;cin>>n;string s;cin>>s;int ans=0;s+='b';int cnt=0;for(int i=0;i<=n;i++){if(s[i]=='b'){ans+=cnt;cnt=0;}else{if(cnt)cnt++;else if(i-1>=0&&s[i-1]=='a')cnt+=2;}}cout<<ans<<endl;
}

D. Displacing Particles

题意:给定n,x,y,矩形(0,0),(0,2N),(2N,2N),(2N,0),从(x,y)每次只能选择一个顶点与之相连并走到线段中点
问:需要走多少次能够走到矩形终点?
思路:直接dfs

coding

int a[N];
int l, r;
int n, x, y;void dfs(int k, int res)
{if(x == k){printf("%d", res);return;}if(k % 2 == 0) dfs(k / 2, res + 1);if((k + r) % 2 == 0) dfs((k + r) / 2, res + 1);
}void solve(){scanf("%d %d %d", &n, &x, &y);l = 0;r = 1;for(int i=1;i<=n;i++)r *= 2;int k = r / 2;dfs(k, 0);
}

E. Eliminating Ballons

题意:n个气球有一定的高度,每次射出的箭射到一个气球箭的高度就会–
问:射几支箭能够将所有的气球射完?
思路:气球高h被射中一定是因为h+1被射后才会被射中,那么直接记录前一个被射气球有没有,没有就将res++,否则目前高度气球–

void solve(){int n;scanf("%d", &n);map<int, int> m;int res = 0;for(int i=1;i<=n;i++){int k;scanf("%d", &k);if(m[k] == 0) res++;else m[k]--;m[k - 1]++;}printf("%d", res);
}

F. Multidimensional Hangman

题意:给字符串星号处填上字母,使得某个单词尽可能的多,输出最多的单词和数量。

coding

void solve(){int n, c;scanf("%d %d", &n, &c);string s;map<string, int> m;for(int i = 1; i <= n; i++){cin >> s;int p = 0;for(int j = 0; j < n; j++) if(s[j] == '*'){p = j;break;}for(int j = 0; j < 26; j++){char k = 'a' + j;string t = s;t[p] = k;m[t]++;}}int res = 0;string sr;for(auto [x, y] : m){if(y > res) sr = x, res = y;else if(y == res && sr > x){sr = x;}}cout << sr << " " << res;
}

I. Intercepting Information

题意:给定数字中出现9就输出F

void solve()
{int flag=1;for(int i=1;i<=8;i++){int x;cin>>x;if(x==9)flag=0;}if(flag)cout<<"S"<<endl;else cout<<"F"<<endl;
}

J. Playing 23

题意:Jack和Marry玩23点的游戏,Jack和Marry开始都有两张手牌,后来两人也会的到n张相同的手牌
问:最后使得Marry能够赢下一张手牌拿到的数字最小是几?
注意事项:
1.每个数字的牌最多4张,拿完了就没有了
2.值为10的手牌不止4张(还有J、Q、K都代表10)
3.要尽可能的使需要的手牌值最小
4.两人手牌值一直相等是双赢的局面,也可认为Marry赢了
思路:能够让Marry赢有两种可能,Jack手牌值>23或者Marry手牌值=23


coding

map<int,int>mp;void solve(){int n;scanf("%d",&n);int Jack=0,Marry=0;int x,y;scanf("%d %d",&x,&y);mp[x]++,mp[y]++;if(x==11||x==12||x==13)x=10;if(y==11||y==12||y==13)y=10;Jack+=x+y;scanf("%d %d",&x,&y);mp[x]++,mp[y]++;if(x==11||x==12||x==13)x=10;if(y==11||y==12||y==13)y=10;Marry+=x+y;for(int i=1;i<=n;i++){scanf("%d",&x);mp[x]++;if(x==11||x==12||x==13)x=10;Jack+=x;Marry+=x;}int sum1=23-Jack+1;int sum2=23-Marry;if(sum1>10&&sum2>10){printf("-1\n");return;}else if(Jack==Marry){printf("%d\n",sum2);return;}else if(Jack>Marry){for(int i=sum1;i<=sum2;i++){if(mp[i]<4){printf("%d\n",i);return;}}printf("-1\n");return;}else if(Jack<Marry){if(mp[sum2]==4)printf("-1\n");else printf("%d\n",sum2);}
}

总结

H:强连通分量待补
N:树状数组维护前K大前缀和待补

2022-2023 ICPC Brazil Subregional Programming Contest相关推荐

  1. 2019-2020 ACM ICPC Brazil Subregional Programming Contest E.Exhibition of Clownfish

    我搬运我自己应该算原创吧 题目 题意 题解 题意 某水族馆有一种神奇的

  2. 比赛题目训练系列17 (2020-2021 ACM-ICPC Brazil Subregional Programming Contest)

    比赛题目训练系列17 (2020-2021 ACM-ICPC Brazil Subregional Programming Contest) 训练网址 E. Party Company 给一棵树 (n ...

  3. 2018-2019 ACM-ICPC Brazil Subregional Programming Contest 题解

    2018-2019 ACM-ICPC Brazil Subregional Programming Contest 题解 比赛链接:2018-2019 ACM-ICPC Brazil Subregio ...

  4. 2019-2020 ACM-ICPC Brazil Subregional Programming Contest

    A.给你一堆圆,问你能否从左上角走到右下角不经过所有圆 一种经典套路题,考虑使用并查集判联通,如果两圆相交,就把他们合并,如果圆与边界相交则合并圆与边界 最后判断一下边界能否互相抵达即可 代码: #i ...

  5. A. Slackline Adventure(思维 + 莫比乌斯)(2018-2019 ACM-ICPC Brazil Subregional Programming Contest)

    A. Slackline Adventure 考虑枚举每个矩形的长跟宽,再统计这个矩形能在坐标轴上出现几次(同行相邻同列相邻的单独算),然后有如下式子: 2×∑i=1n−1∑j=1m−1(n−i)(m ...

  6. Codeforces Gym101473 F.Triangles-前缀和 (2013-2014 ACM-ICPC Brazil Subregional Programming Contest)...

    前缀和. 代码: 1 #include<iostream>2 #include<cstring>3 #include<cstdio>4 #include<cm ...

  7. 2021-2022 ACM-ICPC Brazil Subregional Programming Contest N. No Luck

    原题链接 题意:大意是求区间内大于等于某个数的个数.这个题有个坑,就是给你l,r,但是查询的是l + 1 ~ r,因为那些人只有退役之后才会关注别人,所以需要细节~~~ 解法:树状数组.询问和数组统一 ...

  8. 2018 ACM ICPC Arabella Collegiate Programming Contest A

    Multiplication operation is not always easy! For example, it is hard to calculate 27 × 20 using your ...

  9. A - Multiplication Dilemma (思维)( 2018 ACM ICPC Arabella Collegiate Programming Contest)

    滴答滴答---题目链接 Multiplication operation is not always easy! For example, it is hard to calculate 27 × 2 ...

最新文章

  1. spring WebServiceTemplate 调用 axis1.4 发布的webservice
  2. 【POJ】3268 Silver Cow Party (将有向图的边反转)
  3. [PHP] 访问MySQL
  4. guido正式发布python年份_Python 基础学习笔记.docx
  5. Python代码打印出9*9 九九乘法表
  6. BZOJ4403 序列统计—Lucas你好
  7. 基于SpringBoot+Mybatis+Thymeleaf商品信息管理系统
  8. (马世龙)Linux下CACTI完全搭建技术文档二
  9. 互联网年终福利大盘点,告诉你过年的正确姿势!
  10. 【多媒体封装格式详解】---MKV【2】
  11. java参数配置jconsole_jconsole 配置详解
  12. excel工具栏隐藏了怎么办_办公丨Excel表格新手入门基本操作技巧
  13. Oracle学习——dmp文件(表)导入与导出
  14. CSDN 2021-2022年微博情感数据分析
  15. microsoft 的gpt2模型源码学习记录
  16. 服务器运维基本操作记录
  17. java 小米抢购_java 小米商城抢手机redmik30 pro
  18. 多普勒效应的基本原理
  19. Vue 动态设置路由Meta title 名称
  20. 火车售票系统(基于UML的软件分析与设计模型建模实验)

热门文章

  1. python取矩阵的一部分_Python 实现取矩阵的部分列,保存为一个新的矩阵方法
  2. 共阳极数码管三极管驱动
  3. 弹窗开启以及关闭(“closest”用法)
  4. 逗号用计算机怎么打,使用电脑如何输入特殊字符符号?这些输入小技巧一看就会...
  5. Android App兼容android10.0系统需要修改那些东西,看这个就够了
  6. Do it for success
  7. 计算机重启后屏幕就剩一个J,电脑重启后老是显示黑屏怎么办
  8. 转行软件测试,简简单单3个月出来就是高薪工作,靠谱吗?我的第一桶金...
  9. 软件工程与计算II-8-软件设计基础
  10. centos7 使用 docker 部署 gitlab + gitlab-runner