Codeforces Round #599 (Div. 2) A,B1,B2,C 【待补 D】
排序+暴力
#include<bits/stdc++.h> using namespace std; #define int long long
#define N 1005000
int arr[N]; signed main(){
int _,n;
cin>>_;
while(_--){
cin>>n;
for(int i=;i<=n;i++)
cin>>arr[i];
sort(arr+,arr++n);
int ans=;
for(int i=;i<=n;i++){
int flag=;
int s=;
for(int j=n;j>=;j--){
if(arr[j]>=i)
s++;
if(s>=i){
flag=;
break;
}
}
if(flag){
ans=i;
}else{
break;
}
}
cout<<ans<<'\n';
}
return ;
}
直接暴力就行。【数据范围看错了。少开了一个0。啊啊,难受QAQ。。。。。。。】
#include<bits/stdc++.h> using namespace std; #define int long long
#define N 1500
int a[N];
signed main(){
int _;
cin>>_;
while(_--){
int n;
cin>>n;
string s1,s2;
cin>>s1>>s2;
if(s1==s2){
printf("Yes\n");
continue;
}
int flag=;int s=; memset(a,,sizeof(a));
int cnt=;
for(int i=;i<s1.size();i++){
if(s1[i]!=s2[i]){
a[cnt++]=i;
s++;
}
if(s>){
break;
}
}
if(s!=){
printf("No\n");
}else{
if((s1[a[]]==s1[a[]]&&s2[a[]]==s2[a[]])){
printf("Yes\n");
}else{
printf("No\n");
}
}
}
return ;
}
思路:当字符串不相等时,优先考虑同行。当同行没有字符串时再考虑另外一行。模拟即可。
#include<bits/stdc++.h> using namespace std;
#define int long long signed main(){
int _;
cin>>_;
while(_--){
int n;
cin>>n;
string s1,s2;
cin>>s1>>s2;
int sum=;int X=;
vector<pair<int,int> > ans;
for(int i=;i<n;i++){
if(s1[i]!=s2[i]){
int flag1=;int flag2=;
for(int j=i+;j<n;j++){
if(s1[j]==s1[i]){
flag1=;
sum++;
ans.push_back(make_pair(j+,i+));
swap(s1[j],s2[i]);
break;
}
}
if(!flag1){
for(int j=i+;j<s2.size();j++){
if(s2[j]==s1[i]){
sum+=;
flag2=;
ans.push_back(make_pair(j+,j+));
ans.push_back(make_pair(j+,+i));
swap(s2[j],s1[j]);
swap(s1[j],s2[i]);
break;
}
}
}
if(flag1==&&flag2==){
X=;
break;
}
}
}
if(X){
printf("No\n");
continue;
}
if(sum<=*n){
printf("Yes\n");
printf("%lld\n",sum);
for(int i=;i<ans.size();i++){
cout<<ans[i].first<<" "<<ans[i].second<<'\n';
}
}else{
printf("No\n");
}
}
return ;
}
题意:给排成一行的 n个格子,要求所有的 i,j 满足 |i−j|是 n 的因子的,都要同色,求最大的涂色数。
思路:所有因子的GCD。
#include<bits/stdc++.h> using namespace std; #define int long long signed main(){
int n;cin>>n;
int ans=;
int flag=;
int K=;
for(int i=;i*i<=n;i++){
if(n%i==){
flag=;
if(!K){
ans=i;
ans=__gcd(ans,n/i);
K=;
}else{
ans=__gcd(ans,i);
ans=__gcd(ans,n/i);
}
}
}
if(flag==){
cout<<n<<'\n';
return ;
}
cout<<ans;
return ;
}
菜是原罪。
Codeforces Round #599 (Div. 2) A,B1,B2,C 【待补 D】的更多相关文章
- Codeforces Round #599 (Div. 2) D. 0-1 MST(bfs+set)
Codeforces Round #599 (Div. 2) D. 0-1 MST Description Ujan has a lot of useless stuff in his drawers ...
- Codeforces Round #599 (Div. 2) B2. Character Swap (Hard Version) 构造
B2. Character Swap (Hard Version) This problem is different from the easy version. In this version U ...
- Codeforces Round #599 (Div. 2) B1. Character Swap (Easy Version) 水题
B1. Character Swap (Easy Version) This problem is different from the hard version. In this version U ...
- Codeforces Round #599 (Div. 2) B2. Character Swap (Hard Version)
This problem is different from the easy version. In this version Ujan makes at most 2n2n swaps. In a ...
- Codeforces Round #599 (Div. 2) B1. Character Swap (Easy Version)
This problem is different from the hard version. In this version Ujan makes exactly one exchange. Yo ...
- Codeforces Round #599 (Div. 2)
久违的写篇博客吧 A. Maximum Square 题目链接:https://codeforces.com/contest/1243/problem/A 题意: 给定n个栅栏,对这n个栅栏进行任意排 ...
- Codeforces Round #599 (Div. 2)的简单题题解
难题不会啊…… 我感觉写这个的原因就是因为……无聊要给大家翻译题面 A. Maximum Square 简单题意: 有$n$条长为$a_i$,宽为1的木板,现在你可以随便抽几个拼在一起,然后你要从这一 ...
- Codeforces Round #599 (Div. 2)D 边很多的只有0和1的MST
题:https://codeforces.com/contest/1243/problem/D 分析:找全部可以用边权为0的点连起来的全部块 然后这些块之间相连肯定得通过边权为1的边进行连接 所以答案 ...
- Codeforces Round #599 (Div. 2) E. Sum Balance
这题写起来真的有点麻烦,按照官方题解的写法 先建图,然后求强连通分量,然后判断掉不符合条件的换 最后做dp转移即可 虽然看起来复杂度很高,但是n只有15,所以问题不大 #include <ios ...
随机推荐
- JWT 身份认证优缺点分析以及常见问题解决方案
本文转载自:JWT 身份认证优缺点分析以及常见问题解决方案 Token 认证的优势 相比于 Session 认证的方式来说,使用 token 进行身份认证主要有下面三个优势: 1.无状态 token ...
- 顺序表添加与删除元素以及 php实现顺序表实例
对顺序表的操作,添加与删除元素. 增加元素 如下图所示 对顺序列表 Li [1328,693,2529,254] 添加一个元素 111 ,有三种方式: a)尾部端插入元素,时间复杂度O(1); ...
- Python 安装包时选择 python版本
安装了两个版本的python 其中一个版本为2.7 专门为python 2.7安装包使用的语句为 升级pip E:\Python27\python -m pip install --upgrade p ...
- Python【HTML基础】
HTML基础 HTML(Hyper Text Markup Language)超文本标记语言 #HTML是一种用来描述网页的语言,HTML之于网页就好比建筑图纸之于建筑 +++++++++++++++ ...
- GPIO输入—按键检测(开关控制小灯)
本次的代码全是在上次代码之上添加的. 1.user下新建文件夹key,新建bsp_key.h bsp_key.c文件. 2.keil项目添加bsp_key.c,魔术棒C/C++中include pat ...
- 2019java学习路线图
学习路线图往往是学习一样技术的入门指南.网上搜到的Java学习路线图也是一抓一大把.但是很多学习路线图总结的云里雾里,也没有配套的视频,学习效果并不好. 分享一个完整的Java学习路线图给大家,也是贴 ...
- css line-height & 图片底部间隙的处理
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 看大牛张鑫旭的视屏可能会理解的更深一些,点击这里 . line-height 的学习 line-heigh ...
- (一)JNDI基础
一.简介 在Tomcat 4.1.27之后,在服务器上就直接增加了数据源的配置选项,直接在服务器上配置好数据源连接池即可.在J2EE服务器上保存着一个数据库的多个连接.每一个连接通过DataSourc ...
- 奇妙的算法【7】-贪婪算法-dp
问题1描述:[贪婪算法,Dijistra算法] ①有一只兔子要从一个N*N的二维矩阵方格中从上跳到下面: ②每次只能向左或向下,越过一个方格,跳到下一个方格中: ③被越过的方格中的数值,表示该兔子越过 ...
- 前端关于 superSlide.js 使用,一款基于jquery的前端控件
1引用jQuery.js 和 jquery.SuperSlide.js 2 编写HTML ** 以下是默认的HTMl结构,分别是 ".hd" 里面包含ul, ".bd&q ...