AtCoder Beginner Contest 236 题解
A和B和C纯语法题
A、
#include <iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
typedef long long LL;
int main()
{string s;cin>>s;int l,r;cin>>l>>r;swap(s[l-1],s[r-1]);cout<<s<<endl;return 0;
}
B、
#include <iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<map>
using namespace std;
typedef long long LL;
int main()
{map<int,int> mh;int n;scanf ("%d",&n);for (int i=0;i<n*4-1;i++){int x;scanf ("%d",&x);mh[x]++;}for (auto &[k,v]:mh){if (v!=4){cout<<k<<endl;return 0;}}return 0;
}
C、
#include <iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<set>
#include<vector>
using namespace std;
typedef long long LL;
int main()
{cin.tie(0);set<string> mh;vector<string> ml;int n,m;scanf ("%d%d",&n,&m);for (int i=0;i<n;i++){string s;cin>>s;ml.push_back(s);}for (int i=0;i<m;i++){string s;cin>>s;mh.insert(s);}for (string s:ml){if (mh.count(s))printf ("Yes\n");elseprintf ("No\n");}return 0;
}
D、
直接爆搜所有可能的情况。爆搜的时候时间复杂度是阶乘上升的,应选用好的爆搜写法,不然会TLE。
#include <iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<set>
#include<vector>
#define x first
#define y second
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
vector<PII> g;
int a[20][20];
int res = 0;
bool st[20];
int n;
void dfs(int u)
{if (u==2*n){int sum = 0;for (int i=0;i<g.size();i++){if (i==0)sum = a[g[i].x][g[i].y-g[i].x-1];elsesum=sum^(a[g[i].x][g[i].y-g[i].x-1]);}res = max(res,sum);return;}if (st[u]) {dfs(u+1);}else{for (int i=u+1;i<2*n;i++){if (!st[i]){g.push_back({u,i});st[i] = true;st[u] = true;dfs(u+1);g.pop_back();st[i] = false;st[u] = false;} }}}
int main()
{cin.tie(0);memset(st,false,sizeof st);scanf ("%d",&n);for (int i=0;i<2*n-1;i++){for (int j=0;j<2*n-i-1;j++){scanf ("%d",&a[i][j]);// cout<<a[i][j]<<' ';}// cout<<endl;}dfs(0);printf ("%d\n",res);return 0;
}
再把当时TLE的代码粘上,可以对比对比算算复杂度
#include <iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<set>
#include<vector>
#define x first
#define y second
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
vector<PII> g;
LL a[20][20];
LL res = 0;
bool st[20];
int n;
int cnt =0;
void dfs(int u)
{if (u==n){LL sum = 0;for (int i=0;i<g.size();i++){if (i==0)sum = a[g[i].x][g[i].y-g[i].x-1];elsesum=sum^(a[g[i].x][g[i].y-g[i].x-1]);}res = max(res,sum);return;}for (int i=0;i<2*n;i++)for (int j=i+1;j<2*n;j++){if (!st[i]&&!st[j]){g.push_back({i,j});st[i] = true;st[j] = true;dfs(u+1);g.pop_back();st[i] = false;st[j] = false;}}}
int main()
{cin.tie(0);memset(st,false,sizeof st);scanf ("%d",&n);for (int i=0;i<2*n-1;i++){for (int j=0;j<2*n-i-1;j++){scanf ("%lld",&a[i][j]);}}dfs(0);cout<<res<<endl;return 0;
}
AtCoder Beginner Contest 236 题解相关推荐
- AtCoder Beginner Contest 197 题解(A ~ F)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...
- Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解
Caddi Programming Contest 2021(AtCoder Beginner Contest 193) A - Discount 打折浮点数除即可 B - Play Snuke 枚举 ...
- Panasonic Programming Contest (AtCoder Beginner Contest 195) 题解
文章目录 A - Health M Death B - Many Oranges C - Comma D - Shipping Center E - Lucky 7 Battle F - Coprim ...
- AtCoder Beginner Contest 236 A-D题解
A - chukodai 题意 使字符串第a个字符与第b个字符交换` #include<bits/stdc++.h> using namespace std; int dp[109][10 ...
- AtCoder Beginner Contest 096 题解
比赛地址 https://abc096.contest.atcoder.jp A - Day of Takahashi 题目大意 我们把月和日相同的日期叫做"Takahashi日" ...
- freee Programming Contest 2022(AtCoder Beginner Contest 264) 题解 (A~D)
A - "atcoder".substr() Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100100100 points ...
- [2021-09-04 AtCoder Beginner Contest 217] 题解
文章目录 A - Lexicographic Order B - AtCoder Quiz C - Inverse of Permutation D - Cutting Woods E - Sorti ...
- AtCoder Beginner Contest 168题解
这里写目录标题 A - ∴ (Therefore) 代码 B - ... (Triple Dots) 代码 C - : (Colon) 代码 D - .. (Double Dots) 题意 题解 代码 ...
- AtCoder Beginner Contest 153 题解
题解链接:题解链接 RD是输入,OT是输出 A – SERVAL VS MONSTER 链接: A题 题意: 给你怪物血量H和攻击一次扣A血,问至少要攻击几次能使怪物的血量小于或者等于0 解法: 按题 ...
- AtCoder Beginner Contest 177 题解
希望更好的阅读体验?点这里 一.题解 A.Don't be late 题目大意: 高桥君计划在 TTT 分钟内于离家 DDD 米的地方与青木君碰面,已知高桥君速度为 SSS,问他能否在 TTT 分钟内 ...
最新文章
- java 枚举类型enum用法_别再说Python没有枚举类型了,好好看看
- 计算机网络发展第二阶段 兴起于,计算机辅助开始于计算机发展第几阶段
- 子网掩码255.255.0.0与255.255.255.0的区别
- Python三目运算符
- python中编写类的各种技巧和方法_每日一道python面试题 - Python的实例,类和静态方法揭秘...
- python可以做系统吗_哪个操作系统更适合用来做Python开发
- linux非root用户搭建docker,linux centos7 非root用户安装源码版docker
- SQL Server舍入功能概述– SQL舍入,上限和下限
- Python调用搜狗语音API实现文字转音频
- C#客户端嵌入Chrome浏览器的实现(非IE)
- php 硬盘序号_关于取硬盘序列号
- python判别性别的代码_根据三围数据判断出用户性别竟是python使用逻辑回归算法搞的鬼!...
- 红黑树 - Wikipedia
- 分享一波前端开发也需要知道的关于 Centos、Docker、Nginx、Node、Jenkins的相关知识...
- 编写一个C程序,输入a,b,c三个值,输出其中最大者
- 2023-spring 2.探险营地 — 字符串
- 带你初识JSP(JAVA服务器页面)
- SEO搜索引擎优化-引擎排名
- leetcode 974 Subarray Sums Divisible by K
- Three.js 实时更新几何体的方法
热门文章
- 第三篇第九章火灾自动报警系统
- MaxCompute SQL
- 人生的智慧——叔本华
- latex参考文献bib基本格式_在Latex中利用.bib进行参考文献管理
- 【图像超分辨率】Maintaining Natural Image Statistics with the Contextual Loss
- Android视频播放器没声,Windows/Android/iOS全平台支持的视频播放器EasyPlayerPro,iOS版播放无音频问题如何解决?...
- 专访弘玑Cyclone贾岿、吴楠:超自动化+流程挖掘,助力企业深度掌控完整数字业务流程走势
- 微信小程序防止恶意点击、多次点击
- Rockchip RK3588 MIPI-DSI2 详解
- HDU 4585 Shaolin (STL)