CodeForces - 1512C和CodeForces - 1512D

news/2024/11/17 20:45:14/

CodeForces - 1512C
给一串包含0,1,?的字符串,并给出a,b。可以将字符串中的?改成0或者1.最终使字符串中有 a 个 0,b 个 1 ,并且字符串回文。
用a,b减去原字符串中有多少个0或1,再从两边向中央靠拢;

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
char s[5001212];
int main()
{int p;scanf("%d",&p);while(p--){int a,b,i,j;scanf("%d %d",&a,&b);scanf("%s",s);i=0,j=a+b-1;while(i<j){if(s[i]!=s[j]&&(s[i]=='?'||s[j]=='?')){if(s[i]=='?'){s[i]=s[j];}else if(s[j]=='?'){s[j]=s[i];}}i++;j--;}int cnt1=a,cnt2=b;for(i=0;i<(a+b);i++){if(s[i]=='0')cnt1--;else if(s[i]=='1')cnt2--;}i=0,j=a+b-1;while(i<j){if(s[i]==s[j]&&s[i]=='?'){if(cnt1>=cnt2){s[i]=s[j]='0';cnt1-=2;}else{s[i]=s[j]='1';cnt2-=2;}}i++;j--;}int flog=0;i=0,j=a+b-1;while(i<j){if(s[i]!=s[j]){flog=1;break;}i++;j--;}if((a+b)%2==1){if(cnt1){//    printf("*****\n");if(s[(a+b)/2]=='0'||s[(a+b)/2]=='?'){s[(a+b)/2]='0';cnt1--;}}else if(cnt2){if(s[(a+b)/2]=='1'||s[(a+b)/2]=='?'){s[(a+b)/2]='1';cnt2--;}}}//printf("%d %d %d\n",cnt1,cnt2,flog);if(cnt1||cnt2||flog)printf("-1\n");elseprintf("%s\n",s);}
}

CodeForces - 1512D
从数组中删去一个数。从剩下的数中,再选一个数,使剩下数的和等于此数。
将数组求和,随机删去一个数,将和再除以2,若此数再数组出现过,则可以组成

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[10010111];
int main()
{ll p;scanf("%lld",&p);while(p--){map<ll,int> mp;ll n,flog=0;scanf("%lld",&n);ll k,i,j,ans=0;k=n+2;for(i=1;i<=k;i++){scanf("%lld",&a[i]);mp[a[i]]++;ans+=a[i];}for(i=1;i<=k;i++){ll sum=ans-a[i],f=0;mp[a[i]]--;if(sum%2==0&&mp[sum/2]){for(j=1;j<=k;j++){if(j==i)continue;if(a[j]==sum/2&&f==0){f=1;continue;}printf("%lld ",a[j]);}flog=1;break;}mp[a[i]]++;}//  printf("%d***\n",flog);if(flog==0)printf("-1");printf("\n");}
}

http://www.ppmy.cn/news/272001.html

相关文章

codeforces 1512D Corrupted Array

链接&#xff1a; https://codeforces.com/problemset/problem/1512/D 题意&#xff1a; 给一个数组b&#xff0c;有n2个数字。如果能找到n个数字的和&#xff0c;等于其中另一个数字&#xff0c;就输出这n个数字。 本题我们只需要给这n2个数字排序&#xff0c;求前n个数字…

ZYNQ-迷恋ZYNQ-FPGA开发板资源分享

整理一下手上的米联板子的资源&#xff0c;除了一款K7和A7的FPGA板子大部分都是ZYNQ的&#xff0c;后期会有其他板卡资料陆续发送包括&#xff1a; 米联开发板 能找到的所有米联开发板的资料&#xff0c;足够学习使用。 MA701-100T MA703-35T-V2…

CodeForces 1512G : Short Task 数学

传送门 题目描述 给你一个数&#xff0c;然你判断哪个数的所有约数和等于这个数 分析 比赛的时候寻思着这应该是线性筛的某种变形&#xff0c;奈何自己是数论白痴推了半天没推出结果 赛后才发现这道题可以直接用埃筛莽过去&#xff1f;&#xff1f;大意了啊 代码 #pragma…

Codeforces 1512E 思维+构造

1512E 题意&#xff1a;找到给定区间长度并且区间和为s的序列&#xff1b; 题解&#xff1a;序列可能有多种情况&#xff0c;可以采用较为连续的序列来表示&#xff0c;这样 可以保证序列的每个值不会大于n&#xff1b; 步骤&#xff1a; 假如一个数字s&#xff0c;和区间长度…

CodeForces 1512F : Education 模拟

传送门 题目描述 给你一个序列 a i a_{i} ai​和 b i b_{i} bi​&#xff0c;你如果在 i i i点停留一天&#xff0c;可以或者 a i a_{i} ai​单位的金钱&#xff0c;你如果想从 i i i点移动到 i 1 i 1 i1 点&#xff0c;需要一天时间&#xff0c;并支付 a i a_{i} ai​单位…

获取摩拜单车在地区的车辆python多线程实现

通过微信小程序&#xff08;摩拜&#xff09;&#xff0c;填写请求头&#xff0c;数据&#xff0c;post方式传递给服务器获取response 反反爬虫&#xff1a;useragent轮转&#xff08;手机useragent&#xff09;、代理ip、休眠0.1s 代码分为两部分&#xff1a;多线程获取代理…

python3.6爬虫案例:爬取顶点小说(爱看小说同学的福利)

一、写在前面 这次本来打算爬百思不得姐视频的&#xff0c;谁料赶上此网站调整&#xff0c;视频专栏下线了&#xff0c;网站中也没有视频可爬。所幸先来说说如何爬取顶点小说吧。 顶点小说&#xff08;https://www.x23us.com&#xff09;里面的内容很丰富&#xff0c;不过我们要…

【leetcode】周赛197---(1)1512. 好数对的数目(2)1513. 仅含 1 的子串数(3)1514. 概率最大的路径(4)1515. 服务中心的最佳位置

1512、给你一个整数数组 nums 。 如果一组数字 (i,j) 满足 nums[i] nums[j] 且 i < j &#xff0c;就可以认为这是一组 好数对 。 返回好数对的数目。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3,1,1,3] 输出&#xff1a;4 解释&#xff1a;有 4 组好数对&#xff0…