Codeforces Round #713 (Div. 3)

Codeforces Round #713 (Div. 3)

题号题目考点
ASpy Detected!签到题
BAlmost Rectangle模拟题
CA-B Palindrome构造
DCorrupted Array构造
EPermutation by Sum构造
FEducation模拟+暴力
GShort Task筛法求因数和

文章目录

  • A
    • 题意:
    • 题解:
    • 代码:
  • B
    • 题意:
    • 题解:
    • 代码:
  • C
    • 题意:
    • 题解:
    • 代码:
  • D
    • 题意:
    • 题解:
    • 代码:

A

题意:

输出数组中唯一一个不一样的数的下标

题解:

签到题

代码:

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w;
}
const int maxn=300;
int a[maxn];
int x,y;
int main()
{int t;cin>>t;while(t--){int n;cin>>n;memset(a,0,sizeof(a));for(int i=1;i<=n;i++){cin>>a[i];}x=a[1];if(a[2]!=x&&a[3]!=x){cout<<1<<endl;}else if(a[2]!=x&&a[3]==x){cout<<2<<endl;}else if(a[2]==x&&a[3]!=x){cout<<3<<endl;}else for(int i=4;i<=n;i++){if(a[i]!=x){cout<<i<<endl;break;}}}return 0;
}

B

题意:

给你一个带两个 * 的题,请你加上两个 *,让他们四个构成矩形

题解:

照着模拟就行了,记得别超出边界

代码:

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w;
}
const int maxn=500;
char a[maxn][maxn];
int x1,y1,x2,y2;
int x3,y3,x4,y4;
int main()
{int t;cin>>t;while(t--){int n;cin>>n;memset(a,0,sizeof(a));char ch=getchar();x1=0;y1=0;x2=0;y2=0;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];if(a[i][j]=='*'){if(x1==0&&y1==0){x1=i;y1=j;}else if(x2==0&&y2==0){x2=i;y2=j;}}}char ch=getchar();}int len1=0,len2=0;len1=1;len2=1;if(x1==x2){if(x1+len2<=n){y3=y1;y4=y2;x3=x1+len2;x4=x2+len2;}else if(x1-len2>=1){y3=y1;y4=y2;x3=x1-len2;x4=x2-len2;} }else if(y1==y2){if(y1+len1<=n){x3=x1;x4=x2;y3=y1+len1;y4=y1+len1;}else if(y1-len1>=1){x3=x1;x4=x2;y3=y1-len1;y4=y1-len1;}} else {x3=x2;y3=y1;x4=x1;y4=y2;}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i==x1&&j==y1)cout<<"*";else if(i==x2&&j==y2)cout<<"*";else if(i==x3&&j==y3)cout<<"*";else if(i==x4&&j==y4)cout<<"*";else cout<<".";}cout<<endl;}}return 0;
}

C

题意:

给定0和1的数量,然后给你一个01串,对01串中?部分进行填充(用0,1),要求01数量和题目给出的一致,且使得01串变成回文串

题解:

其实很好想,就是对问好进行填充如何01不够就说明构造失败,但是要注意细节,首先将可以确定的?进行填充,(什么叫确定的,因为是回文串所以只要有一个确定,对应位置也应该确定)
然后从左往右扫,有1就填1,有0填0

代码:

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w;
}
int main()
{//freopen("out.txt","w",stdout);int t;cin>>t;while(t--){int a,b;cin>>a>>b;string s;cin>>s;int j=s.length()-1;bool f=0;for(int i=0;i<s.length();i++){if(s[i]=='?')s[i]=s[s.length()-i-1];}for(int i=0;i<s.length();i++){if(s[i]=='0')a--;if(s[i]=='1')b--;}if(a<0||b<0){cout<<"-1"<<endl;continue;}int aa=a,bb=b;if(s.length()==1){if(a)cout<<0<<endl;else if(b)cout<<1<<endl;else cout<<s<<endl;continue;}for(int i=0;i<s.length();i++){if(i>j)break;if(i==j)//如果正好重叠到最中间 {if(s[i]=='?')//如果最中间为空 {if(a){s[i]='0';a--;}else if(b){s[i]='1';b--;}else {f=1;break;}}break;}if(s[i]=='?')//i不确定 {if(s[j]=='?')//i,j不确定 {if(a>=2){s[i]='0';s[j]='0';a-=2;}else if(b>=2){s[i]='1';s[j]='1';b-=2;}else {f=1;break;}}else if(s[j]!='?')//i不确定,j确定了 {if(s[j]=='0'&&a){s[i]='0';a--;}else if(s[j]=='1'&&b){s[i]='1';b--;}else {f=1;break;}}}else if(s[j]=='?')//i确定,j不确定 {if(s[i]=='0'&&a){s[j]='0';a--;}else if(s[i]=='1'&&b){s[j]='1';b--;}else{f=1;break;} }else if(s[j]!='?')//i和j都确定 {if(s[i]!=s[j]){f=1;break;}}j--;}if(f==1||a!=0||b!=0)cout<<"-1"<<endl;else cout<<s<<endl;}
}

D

题意:

b数组是由a数组构造的
构造方式:
b[i] = a[i] 1<i<n
b[n+1] = a1+…+an
b[n+2] = x(x为任意数)
然后把b数组打乱给你,让你猜a数组

题解:

题目麻烦在存在一个x
a数组一共有n个数,b数组比a多个x 和 前n项的和,关键在于找这两个东西,
对b排序,前n项的和肯定就在b[n+1]和b[n+2]这两个中
如果前n个数的和等于b[n+1]说明b[n+2]是x,b[n+1]是求和
如果前n+1个数的和小于b[n+2],说明答案不存在
如果前n+1个数的和大于b[n+2],我们就看多出来的部分是否在b中存在,如果前n+1个数的和比b[n+2]多m,m在b中存在,说m就是x,b[n+2]就是和,否则大家就不存在

代码:

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w;
}
const int maxn=2e5+9;
ll a[maxn];
map<ll,int>mp;
int main()
{int t;cin>>t;while(t--){ll sum=0;int n;cin>>n;mp.clear();for(int i=1;i<=n+2;i++)a[i]=0;for(int i=1;i<=n+2;i++){cin>>a[i];mp[a[i]]++;sum+=a[i];}sort(a+1,a+3+n);sum-=a[n+2];mp[a[n+2]]--;ll ans=sum-a[n+1];if(ans==a[n+1]){mp[a[n+1]]--;} else if(sum<=a[n+2]){cout<<"-1"<<endl;continue;}else if(sum>a[n+2]){ll w=sum-a[n+2];if(mp[w])mp[w]--;else if(mp[w]==0){cout<<-1<<endl;continue;}}for(int i=1;i<=n+2;i++){if(mp[a[i]]){cout<<a[i]<<" ";mp[a[i]]--;}}cout<<endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317643.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[国家集训队]航班安排 (最大费用最大流)

description 神犇航空有K架飞机&#xff0c;为了简化问题&#xff0c;我们认为每架飞机都是相同的。神犇航空的世界中有N个机场&#xff0c;以0…N-1编号&#xff0c;其中0号为基地机场&#xff0c;每天0时刻起飞机才可以从该机场起飞&#xff0c;并不晚于T时刻回到该机场。一…

CF809D-Hitchhiking in the Baltic States【FhqTreap】

正题 题目链接:https://www.luogu.com.cn/problem/CF809D 正题 题目链接:https://www.luogu.com.cn/problem/CF809D 题目大意 有一个长度为nnn的序列aaa&#xff0c;要求ai∈[li,ri]a_i\in[l_i,r_i]ai​∈[li​,ri​]&#xff0c;要求使得aaa的最长严格上升子序列最长。 1≤…

Divide by Zero 2021 and Codeforces Round #714 (Div. 2)

Divide by Zero 2021 and Codeforces Round #714 (Div. 2) 题号题目知识点AArray and PeaksBAND SequencesCAdd OneDGCD and MSTECost EquilibriumFSwapping Problem

新数据革命:开源图形化数据引擎Hawk5发布

Hawk是一款开源图形化的爬虫和数据清洗工具&#xff0c;GitHub Star超过2k&#xff0c;前几代版本介绍如下&#xff1a;Hawk3: 终于等到你: 图形化开源爬虫Hawk 3发布!Hawk2: 120项优化: 超级爬虫Hawk 2.0重磅发布&#xff01;Hawk1: 如何从互联网采集海量数据&#xff1f;租房…

11.6模拟:总结

250pts 1003010020 好的地方是没有挂分吧 T4还用假复杂度过了20 但是T2其实是可做的 关键就是对模型的转化 换个角度考虑每条边的贡献 思路就豁然开朗了 T4确实是神仙题 不太可做 qwq 加油吧OvO

[TJOI2018]智力竞赛 (匈牙利)

description 题目描述 小豆报名参加智力竞赛&#xff0c;他带上了 n个好朋友作为亲友团一块来参加比赛。 比赛规则如下&#xff1a;一共有 m道题目&#xff0c;每个人都有 1 次答题机会&#xff0c;每次答题为选择一道题目回答&#xff0c;在回答正确后&#xff0c;可以从这个…

P6944-[ICPC2018 WF]Gem Island【数学期望,dp】

正题 题目链接:https://www.luogu.com.cn/problem/P6944 题目大意 有nnn颗不同颜色的宝石&#xff0c;每次随机选择一颗复制&#xff0c;重复ddd次&#xff0c;求最后宝石数前rrr的颜色的宝石数之和的期望值。 1≤r≤n,d≤3001\leq r\leq n,d\leq 3001≤r≤n,d≤300 解题思路…

Educational Codeforces Round 107 (Rated for Div. 2)

Educational Codeforces Round 107 (Rated for Div. 2) 题号题目知识点AReview Site签到BGCD Length思维构造CYet Another Card Deck思维DMin Cost String构造题EColorings and Dominoes思维题&#xff0c;构造题FChainwordGChips on a Board A 题意&#xff1a; 有3种评论员…

ASP.NET Core如何在ActionFilterAttribute里做依赖注入

点击蓝字关注我在ASP.NET Core里&#xff0c;我们可以使用构造函数注入很方便地对Controller&#xff0c;ViewComponent等部件做依赖注入。但是如何给过滤器ActionFilterAttribute也用上构造函数注入呢&#xff1f;问题我的博客系统里有个用来删除订阅文件缓存的ActionFilter&a…

NOIP2012:疫情控制(二分、贪心、树上倍增)

解析 二分的单调性较为明显&#xff0c;一路推导下去的性质都不算太难想&#xff0c;正解的思路还是不难想到的 但从头到尾都实现很考验思维的严密性和代码能力 然后我就双重被考验挂了qwq 第一交的时候一个地方把倍增的dis数组写成pl&#xff0c;判断封口也有问题… 但竟然有…

[八省联考2018]劈配 (匈牙利)

description 一年一度的综艺节目《中国新代码》又开始了。Zayid 从小就梦想成为一名程序员&#xff0c;他觉得这是一个展示自己的舞台&#xff0c;于是他毫不犹豫地报名了。 轻车熟路的 Zayid 顺利地通过了海选&#xff0c;接下来的环节是导师盲选&#xff0c;这一阶段的规则…

Codeforces Round #715 (Div. 2)

Codeforces Round #715 (Div. 2) 题号题目知识点AAverage HeightBTMT DocumentCThe Sports Festival区间dpDBinary Literature构造题EAlmost SortedFComplete the MST A 题意&#xff1a; 如果两个相邻的数的和是偶数&#xff0c;则贡献为1 如何排序使得贡献值最大 题解&am…

YbtOJ-森林之和【dp】

正题 题目大意 一个节点的权值定义为它度数的平方&#xff0c;求所有nnn个点的有标号森林的所有节点权值和。 1≤n,T≤51031\leq n,T\leq 5\times 10^31≤n,T≤5103 解题思路 首先因为所有节点本质相同&#xff0c;所以我们可以只考虑一个节点所有情况下的权值和。 然后考虑…

CF1322B:Present(异或、two pointers)

解析 想到了按位&#xff0c;但卡在了进位… qwq 当时总是想一位一位往后转化&#xff0c;但是那样确实做不了 判断第k位时把每个数的前k-1位提出来 sort一下 再维护双指针&#xff0c;就可以很方便的统计进位的个数了 代码 #include<bits/stdc.h> using namespace st…

助力苏州、星火相传,广苏两地微软技术俱乐部交流纪实

2019年1月19日时值二十四节气“大寒”前夕&#xff0c;江南水乡冬日的寒气盖不住苏州.NET开发者的热情&#xff0c;就在这一天苏州微软技术俱乐部成立了并举办了第一场大型的线下交流活动。星火相传2018年12月8日广州.NET微软技术俱乐部举办了恢复以来的第一场大型线下技术交流…

[CTSC2017]吉夫特(思维+巧妙)

description 戳我看题目 solution 显然只要选出来的子序列有一个组合数为偶数&#xff0c;最后取模 222 的结果都会是零 有一个结论&#xff1a;当且仅当n&mm时&#xff0c;CnmC_n^mCnm​为奇数 所以我们要选的子序列&#xff0c;任意相邻两位中后一位的下标和前一位的…

cf1511B. GCD Length

cf1511B. GCD Length 题意&#xff1a; 定义gcd(x,y) z 现在给你a&#xff0c;b&#xff0c;c三个数字&#xff0c;含义分别是 不带前导0的x是由a个数字构成的 不带前导0的y是由b个数字构成的 不带前导0的z是由c个数字构成的 题解&#xff1a; 很明显构造题&#xff0c;但…

微软技术专家为您解读深度学习

随着阿尔法狗、无人驾驶、智能翻译的横空出世&#xff0c;“人工智能”这个已经存在60多年的词语&#xff0c;仿佛一夜之间重新成为热词。同时被科技圈和企业界广泛提及的还有“机器学习”“深度学习”“神经网络”…… 但如此喧嚣热烈的气氛之下&#xff0c;大部分人对这一领域…

CF1322C:Instant Noodles

解析 神仙题了属于是 设SiS_iSi​为右侧第i个点连向的左侧点的集合 然后把所有SiS_iSi​ 相同的点合并成一个点&#xff08;就称为新点吧&#xff09;&#xff0c;点权相加 合并后的所有点权的gcd&#xff08;设为w吧&#xff09;就是答案 为什么&#xff1f; 首先一个显然的…

cf 1511 D. Min Cost String

cf 1511 D. Min Cost String 题意&#xff1a; 我们规定一个字符串的费用为存在一个i和j(i<j),然后s[i] s[j] && s[i1] s[j1]&#xff0c;组成字符串的字符必须是前k位 现在给你字符串的长度n和k&#xff0c;怎样构造使得费用最少 题解&#xff1a; 其实第一个…