在雅礼和衡水的dalao们打了一场atcoder

然而窝好菜啊……

A - Shrinking

题意:定义一次操作为将长度为n的字符串变成长度n-1的字符串,且变化后第i个字母为变化前第i 或 i+1 个字母,求使整个字符串为同一字母的最少变换次数。

题解:求同一字母的最大间距(包括首尾)的最小值即可。

#include<cstdio>
#include<algorithm>
#define MN 1111
using namespace std; int mmh=1e9;
char s[MN];
int main(){
scanf("%s",s);
for (int i='a';i<='z';i++){
int la=-,ans=,j;
for (j=;s[j];j++)
if (s[j]==i){
if (ans<j-la-) ans=j-la-;
la=j;
}
if (ans<j-la-) ans=j-la-;
if (mmh>ans) mmh=ans;
}
printf("%d\n",mmh);
}

B - Colorful Hats

题意:给一个序列ai,问是否存在另一个序列bi满足对于任意i,bi中除 i 以外不同数字数量为ai。

题解:如果ai中有数字相差超过1,那肯定就不合法,然后分情况讨论。如果ai中所有数都相等记为x,那要么n=x+1要么n>=x*2时合法,否则ai中较小的那部分数肯定在bi中是单独存在的,然后判定不单独存在的的部分是否满足数量要求即可。

#include<cstdio>
#include<algorithm>
#define MN 111100
using namespace std; int n,s,S,a[MN],ma=,mi=1e9;
int main(){
scanf("%d",&n);
for (int i=;i<=n;i++) scanf("%d",&a[i]),ma=max(ma,a[i]),mi=min(mi,a[i]); if (ma-mi>) return puts("No"),;
if (ma==mi) return puts(n>=ma*||n==ma+?"Yes":"No"),;
s=ma;S=n;
for (int i=;i<=n;i++) if (a[i]==mi) s--,S--;
puts(S>=s*&&s>?"Yes":"No");
}

C - +/- Rectangle

题意:要求构造一个矩阵满足所有元素的总和为正数,任意指定大小的子矩形内总和为负数。

考场上没写出来,赛后看的题解,好神啊。

#include<queue>
#include<cstdio>
#include<algorithm>
using namespace std; int read_p,read_ca,read_f;
inline int read(){
read_p=;read_ca=getchar();read_f=;
while (read_ca<''||read_ca>'') read_f=read_ca=='-'?-:read_f,read_ca=getchar();
while (read_ca>=''&&read_ca<='') read_p=read_p*+read_ca-,read_ca=getchar();
return read_p*read_f;
}
int H,W,h,w;
int main(){
H=read();W=read();h=read();w=read(); if ((H/h)*(W/w)*(*(h*w-)+)>=*(H*W-(H/h)*(W/w))) return puts("No"),;
puts("Yes");
for (int i=;i<=H;i++,puts(""))
for (int j=;j<=W;j++)
if (i%h==&&j%w==) printf("%d ",-(*(h*w-)+));else printf("%d ",);
}

D在衡水dalao的帮助下(大约是没有)理解了。

设$a_{n}=a_{0}⊕a_{1}⊕……⊕a_{n-1}$,问题先转化为每次把一个$a_{i}$与$a_{n}$交换的问题。交换当然是考虑置换环,但是相同元素怎么办?有相同的元素的可以直接强行并成一个环,代价照算。然后如果置换环里有$a_{n}$那代价要减少2。

继续留坑

怒掉rating

AtCoder Grand Contest 016的更多相关文章

  1. AtCoder Grand Contest 016 E - Poor Turkeys

    题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_e 题目大意: 有\(N\)只火鸡,现有\(M\)个人,每个人指定了两只火鸡\(x,y\),每 ...

  2. AtCoder Grand Contest 016 C - +/- Rectangle

    题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_c 题目大意: 给定整数\(H,W,h,w\),你需要判断是否存在满足如下条件的矩阵,如果存在 ...

  3. AtCoder Grand Contest 016 B - Colorful Hats

    题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_b 题目大意: 有\(N\)只猫,每只猫头上带着一个帽子,帽子有颜色,现在告诉你每只猫能看到的 ...

  4. AtCoder Grand Contest 016 F - Games on DAG

    题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_f 题目大意: 给定一个\(N\)点\(M\)边的DAG,\(x_i\)有边连向\(y_i\) ...

  5. Atcoder Grand Contest 016 F - Games on DAG(状压 dp)

    洛谷题面传送门 & Atcoder 题面传送门 如何看待 tzc 补他一个月前做的题目的题解 首先根据 SG 定理先手必输当且仅当 \(\text{SG}(1)=\text{SG}(2)\). ...

  6. AtCoder Grand Contest 016题解

    传送门 \(A\) 直接枚举最终的字母然后模拟就行了-- 就这数据范围还是别学我写的这种做法了-- const int N=105; char s[N];int las[26],mx[26],n,re ...

  7. AtCoder Grand Contest 012

    AtCoder Grand Contest 012 A - AtCoder Group Contest 翻译 有\(3n\)个人,每一个人有一个强大值(看我的假翻译),每三个人可以分成一组,一组的强大 ...

  8. AtCoder Grand Contest 011

    AtCoder Grand Contest 011 upd:这篇咕了好久,前面几题是三周以前写的... AtCoder Grand Contest 011 A - Airport Bus 翻译 有\( ...

  9. AtCoder Grand Contest 031 简要题解

    AtCoder Grand Contest 031 Atcoder A - Colorful Subsequence description 求\(s\)中本质不同子序列的个数模\(10^9+7\). ...

随机推荐

  1. 快速自检电脑是否被黑客入侵过(Linux版)

    之前写了一篇快速自检电脑是否被黑客入侵过(Windows版), 这次就来写写Linux版本的. 前言 严谨地说, Linux只是一个内核, GNU Linux才算完整的操作系统, 但在本文里还是用通俗 ...

  2. css盒模型研究

    css的盒模型一直是一个重点和难点,最近由后端的学习转到前端,觉得有必要深入研究一下css的盒模型. 1.万物皆盒子 我们必须要有一个理念,在html的世界里,万物皆盒子,那就是任何一个html元素都 ...

  3. Python3 实现数据读写分离设计

    前言 首先读写分离可以保证数据库的稳定,简单的说就是当网站访问量大时,读写都在一个库,很有可能会出现脏数据的情况,如果采取阻塞似操作,那么用户体验就会变得更差. 而且目前大多数网站的读写是失衡的,以淘 ...

  4. Django2中文文档--目录及介绍部分

    Django2文档-文档结构 我是按照官方文档的格式进行翻译,所以格式根官方格式一致 如果大家发现哪些地方有问题可以联系我 2426525089@qq.com 或者加入QQ群跟我一起翻译,群号码: 2 ...

  5. inux_异常_07_ftp查看不到文件列表

    二.参考资料 1.Linux关于ftp查看不到文件列表的问题

  6. Anaconda系统中管理程序包(Package)

    列出所有已安装的程序包 conda list 在已安装的程序包中查找某个特定的程序包 conda search package-name 安装程序包 conda install beautiful-s ...

  7. 转载:DNS解析过程详解

    2015-09-20 此好文是转载,如有侵权联系我,立马删掉 DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com. ...

  8. springmvc注入类 NoUniqueBeanDefinitionException: No qualifying bean of type [] is defined: expected single错误

    在springmvc中注入服务时用@Service 当有两个实现类时都标明@Service后则会出现异常: nested exception is org.springframework.beans. ...

  9. 【Python3之模块及包的导入】

    一.模块导入 1.定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

  10. Git知识总览(二) git常用命令概览

    上篇博客我们从 git clone 和 git status 两个命令开始,引出了一系列的git操作命令, 请参见:<Git知识总览(一) 从 git clone 和 git status 谈起 ...