Codeforces Round #531 (Div. 3)
A:瞎猜。
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
int n;
cin>>n;
if(n%==||n%==){
cout<<<<endl;
} else{
cout<<<<endl;
}
}
B:随便搞
#include <bits/stdc++.h>
using namespace std;
int n,k;
int a[],ans[];
set<int>s[];
void cloro(int id,int clo){
while (s[a[id]].count(clo)){
clo++;
if(clo==k+){
clo=;
}
}
ans[id]=clo;
s[a[id]].insert(clo);
}
int main() {
ios::sync_with_stdio(false);
cin>>n>>k;
for(int i=;i<=n;i++)
cin>>a[i];
int now = ;
bool flag = false;
for(int i=;i<=n;i++){
if(s[a[i]].size()==k){
cout<<"NO"<<endl;
exit();
}
cloro(i,now);
now++;
if(now==k+) {
now = ;
flag = true;
}
}
if(!flag&&now<k){
cout<<"NO"<<endl;
exit();
}
cout<<"YES"<<endl;
for(int i=;i<=n;i++)
cout<<ans[i]<<' ';
}
C:傻逼题
#include <bits/stdc++.h>
using namespace std;
int n,x,y,a[];
int dp[];
set<int> s;
int main() {
ios::sync_with_stdio(false);
cin>>n>>x>>y;
for(int i=;i<=n;i++)
cin>>a[i];
if(x>y){
cout<<n<<endl;
} else if(x<=y){
int num = ;
for(int i=;i<=n;i++){
if(a[i]<=x){
num++;
}
}
int ans = ;
while (num>){
ans++;
num-=;
}
cout<<ans<<endl;
}
}
D:贪心的 六种变换随便搞
我写的应该是有问题的,但是ppt了就不想改了,估计会掉。
upd 1/10 15:20 hhhh果然掉了 但是是我自己傻屌写错了,思路没有问题。 代码已更新
#include <bits/stdc++.h>
using namespace std;
string s;int n;
int a[];
void slove(int c01,int c02,int c10,int c12,int c20,int c21){
for(int i=n-;i>=;i--){
if(s[i]==''){
if(c02) {
s[i] = '';
c02--;
}
else if(c01) {
s[i] = '';
c01--;
} } else if(s[i]==''){
if(c12){
c12--;
s[i]='';
}
}
}
for(int i=;i<n;i++){
if(s[i]==''){
if(c20){
c20--;
s[i]='';
} else if(c21){
c21--;
s[i]='';
}
} else if(s[i]==''){
if(c10){
s[i]='';
c10--;
}
}
}
}
int main() {
ios::sync_with_stdio(false);
cin>>n>>s;
for(int i=;i<n;i++){
a[s[i]-'']++;
}
int c01=,c02=,c10=,c12=,c20=,c21=;
if(a[]>n/){
if(a[]>n/){
c02=a[]-n/;
c12=a[]-n/;
} else{
if(a[]>n/) {
c21 = a[] - n / ;
c01 = a[]-n/;
}
else {
c02 = n / - a[];
c01=n/-a[];
}
}
} else if(a[]>n/){
if(a[]>n/){
c10=a[]-n/;
c20=a[]-n/;
} else{
c10=n/-a[];
c12=n/-a[];
}
} else if(a[]>n/){
c20=n/-a[];
c21=n/-a[];
}
slove(c01,c02,c10,c12,c20,c21);
cout<<s<<endl;
}
E:每个数都可以确定一个区间,然后我们求不确定的区间的长度,答案就是 1<<(len-1)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod = ;
int n;int a[];
ll qpow(ll a,ll x){
ll res = ;
while (x){
if(x&)
res=(res*a)%mod;
a=(a*a)%mod;
x/=;
}
return res;
}
map<int,int> m;
vector<int> v [];
int pre[];
int main() {
ios::sync_with_stdio(false);
cin>>n;
int id = ;
for(int i=;i<=n;i++) {
cin >> a[i];
if(m.count(a[i])){
v[m[a[i]]].push_back(i);
} else{
m[a[i]]=id;
v[id].push_back(i);
id++;
}
}
for(int i=;i<id;i++){
pre[v[i][]]++;
pre[v[i][v[i].size()-]]--;
}
ll cnt = ;
for(int i=;i<=n;i++){
pre[i]+=pre[i-];
if(pre[i]==)
cnt++;
}
cout<<qpow(,cnt-)<<endl;
}
F:状压dp。 数据范围很明显了。。 先预处理出来任意两行相邻的时候对答案的贡献,以及任意两行做头尾(就是第一行和最后一行)的贡献,然后dp,dp的时候枚举第一行是啥。
#include <bits/stdc++.h>
using namespace std;
int a[][],n,m;
int b[][],c[][],ans;
int f[<<][];
int slove(int id){
for(int i=;i<(<<n);i++)
for(int j=;j<n;j++)
f[i][j]=;
f[<<id][id]=1e9;
for(int i=;i<(<<n);i++){
for(int j=;j<n;j++){
if(i&(<<j)){
for(int k=;k<n;k++){
if(i&(<<k))continue;
f[i|(<<k)][k]=max(f[i|(<<k)][k],min(f[i][j],b[j][k]));
}
}
}
}
int ans = ;
for(int i=;i<n;i++){
if(i==id)continue;
ans = max(ans,min(c[id][i],f[(<<n)-][i]));
}
return ans;
}
int main() {
ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=;i<n;i++){
for(int j=;j<m;j++){
cin>>a[i][j];
}
}
if(n==){
int ans = 1e9;
for(int i=;i<m-;i++)
ans = min(ans,abs(a[][i]-a[][i+]));
cout<<ans<<endl;
return ;
}
//预处理第i行与第j行相邻
for(int i=;i<n;i++){
for(int j=;j<n;j++){
b[i][j]=1e9;
for(int k=;k<m;k++){
b[i][j]=min(b[i][j],abs(a[i][k]-a[j][k]));
}
}
}
//i是第一行,j是最后一行
for(int i=;i<n;i++){
for(int j=;j<n;j++){
if(i==j) continue;
c[i][j]=1e9;
for(int k=;k<m-;k++)
c[i][j]=min(c[i][j],abs(a[i][k+]-a[j][k]));
}
}
int ans = ;
for(int i=;i<n;i++){
ans = max(ans,slove(i));
}
cout<<ans<<endl;
}
Codeforces Round #531 (Div. 3)的更多相关文章
- Codeforces Round #531 (Div. 3) ABCDEF题解
Codeforces Round #531 (Div. 3) 题目总链接:https://codeforces.com/contest/1102 A. Integer Sequence Dividin ...
- Codeforces Round #531 (Div. 3) F. Elongated Matrix(状压DP)
F. Elongated Matrix 题目链接:https://codeforces.com/contest/1102/problem/F 题意: 给出一个n*m的矩阵,现在可以随意交换任意的两行, ...
- Codeforces Round #531 (Div. 3) E. Monotonic Renumeration (构造)
题意:给出一个长度为\(n\)的序列\(a\),根据\(a\)构造一个序列\(b\),要求: 1.\(b_{1}=0\) 2.对于\(i,j(i\le i,j \le n)\),若\(a_{i ...
- Codeforces Round #531 (Div. 3) D. Balanced Ternary String (贪心)
题意:给你一个长度为\(3*n\)的字符串,要求修改最少的次数,使得字符串中\(0,1,2\)的个数相同,并且在最少次数的情况下使字典序最小. 题解:贪心,\(0\)一定放在前面,\(1\)和\(2\ ...
- Codeforces Round #531 (Div. 3) C. Doors Breaking and Repairing (博弈)
题意:有\(n\)扇门,你每次可以攻击某个门,使其hp减少\(x\)(\(\le 0\)后就不可修复了),之后警察会修复某个门,使其hp增加\(y\),问你最多可以破坏多少扇门? 题解:首先如果\(x ...
- Codeforces Round #531 (Div. 3) B. Array K-Coloring (结构体排序)
题意:给你\(n\)个数字,用\(k\)种颜色给他们涂色,要求每个数字都要涂,每种颜色都要用,相同的数字不能涂一样的颜色. 题解:用结构体读入每个数字和它的位置,然后用桶记录每个数字出现的次数,判断是 ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
随机推荐
- SQL学习1:基础
SQL 是用于访问和处理数据库的标准的计算机语言. SQL,指结构化查询语言,全称是 Structured Query Language. SQL 能做什么? SQL 面向数据库执行查询 SQL 可从 ...
- __c语言__测一段代码的运行时间
2017-09-16 13:35:56 感觉很实用. /************************************** time ./a.out 命令所花费的real时间.user时间和 ...
- KVM之CPU虚拟化
1.1 为什么要虚拟化CPU 虚拟化技术是指在x86的系统中,一个或以上的客操作系统(Guest Operating System,简称:Guest OS)在一个主操作系统(Host Operatin ...
- 解决Android Studio出现GC overhead limit exceeded
方法一: 修改项目目录下的gradle.properties,增加如下配置信息(红色文字中需要根据自己电脑的配置修改内存大小,其余的配置用于加快gradle的编译速度) org.gradle.daem ...
- NYOJ127 星际之门(一)【定理】
星际之门(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描写叙述 公元3000年,子虚帝国统领着N个星系,原先它们是靠近光束飞船来进行旅行的,近来,X博士发明了星际之门 ...
- FreeBie—免费设计师专用素材网
FreeBie—免费设计师专用素材网 网站地址: https://freebiesupply.com/ 网站分类: 素材 浏览次数: 192 标签: 设计素材 Freebie Supply 是国外一家 ...
- C++ 字面量
https://docs.microsoft.com/en-us/cpp/cpp/string-and-character-literals-cpp?view=vs-2017 C++ supports ...
- 物联网全景动态图谱2.0|PaaS物联网平台汇总(上篇)
物联网智库 原创 物联网智库 整理发布 转载请注明来源和出处 ------ [导读] ------ 毫无疑问,2018年物联网对行业的深度变革才刚刚开启. 物联网产业链企业的质与量将进入全面爆 ...
- Atitit 华为基本法 attilax读后感
Atitit 华为基本法 attilax读后感 “精神对物质的比重是三比一” 认可拿破仑的这句格言 在20多年中国商业和企业史上,一个最基本.也是最大的现象就是,为什么"中国制造" ...
- MySQL 4 种隔离级别的区别
## 测试环境 mysql> select version(); +------------+ | version() | +------------+ -log | +------------ ...