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)的更多相关文章

  1. Codeforces Round #531 (Div. 3) ABCDEF题解

    Codeforces Round #531 (Div. 3) 题目总链接:https://codeforces.com/contest/1102 A. Integer Sequence Dividin ...

  2. Codeforces Round #531 (Div. 3) F. Elongated Matrix(状压DP)

    F. Elongated Matrix 题目链接:https://codeforces.com/contest/1102/problem/F 题意: 给出一个n*m的矩阵,现在可以随意交换任意的两行, ...

  3. 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 ...

  4. Codeforces Round #531 (Div. 3) D. Balanced Ternary String (贪心)

    题意:给你一个长度为\(3*n\)的字符串,要求修改最少的次数,使得字符串中\(0,1,2\)的个数相同,并且在最少次数的情况下使字典序最小. 题解:贪心,\(0\)一定放在前面,\(1\)和\(2\ ...

  5. Codeforces Round #531 (Div. 3) C. Doors Breaking and Repairing (博弈)

    题意:有\(n\)扇门,你每次可以攻击某个门,使其hp减少\(x\)(\(\le 0\)后就不可修复了),之后警察会修复某个门,使其hp增加\(y\),问你最多可以破坏多少扇门? 题解:首先如果\(x ...

  6. Codeforces Round #531 (Div. 3) B. Array K-Coloring (结构体排序)

    题意:给你\(n\)个数字,用\(k\)种颜色给他们涂色,要求每个数字都要涂,每种颜色都要用,相同的数字不能涂一样的颜色. 题解:用结构体读入每个数字和它的位置,然后用桶记录每个数字出现的次数,判断是 ...

  7. 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 ...

  8. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  9. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

随机推荐

  1. Uva11582 Colossal Fibonacci Numbers!(同余模定理+快速幂)

    https://vjudge.net/problem/UVA-11582 首先明确,斐波那契数列在模c的前提下是有循环节的.而f[i] = f[i-1]+f[i-2](i>=2)所以只要有两个连 ...

  2. django之模型层(model)--添加、单表查询、修改基础

    上篇带大家简单做了一下图书表的创建.简单的查看和删除,今天会先简单介绍添加和修改,因为添加和修改与删除一样都很简单,本篇会相对多介绍一点单表查询,大家都知道数据库中查询是最重要的一部分,毕竟无论是修改 ...

  3. 2、html补充

    今天补充几个html标签 <body>内常用标签 1.<div>和<span> <div></div> : <div>只是一个块 ...

  4. 控制WinForm中Tab键的跳转

    一,需求 在Winform中,默认情况下,按下Tab键,光标会按照我们设定的TabIndex值从小到大进行跳转. 但如果用户要求按下Tab键跳转到特定的控件,这种要求还是很合理的,比如用户只想输入几个 ...

  5. Android如何实现茄子快传

    Android如何实现茄子快传茄子快传是一款文件传输应用,相信大家都很熟悉这款应用,应该很多人用过用来文件的传输.它有两个核心的功能: 端到端的文件传输Web端的文件传输这两个核心的功能我们具体来分析 ...

  6. jQuery CVE-2019-11358原型污染漏洞分析和修复建议

    一.安全通告 jQuery官方于日前发布安全预警通告,通报了漏洞编号为 CVE-2019-11358的原型污染漏洞.由攻击者控制的属性可被注入对象,之后或经由触发 JavaScript 异常引发拒绝服 ...

  7. Ubuntu安装最新版nodejs

    今天在学习以太坊时,需要用到nodejs,因为使用的是ubuntu 16.04 LTS,一直安装的是老版本的nodejs,官方给方法用不成,折腾了半天,什么软链.手动编译,总觉得不很靠谱(linux水 ...

  8. chrome浏览器美化插件:让您的浏览器页面冒水泡, 游小鱼儿

    下载插件和效果图 这是一个让你的浏览器冒泡泡的插件, 浏览网页的时候仿佛置身于海底世界: 插件下载地址:http://files.cnblogs.com/files/diligenceday/chro ...

  9. 修改Electron的libcc(libchromiumcontent)源码,重新编译electron, 设置event.isTrusted为true

    VPN非常注意: 编译的过程需要使用VPN, 否者chromium的源代码无法下载, 后面会出现总总问题 Electron的编译环境, 推荐使用物理机: win10 64位 英文版, 为了避免后期出现 ...

  10. Docker Mongo数据库主从同步配置方法

    一.具体操作方法 1.启两个Mongo容器 docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles --r ...