AtCoder Grand Contest 016
在雅礼和衡水的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的更多相关文章
- AtCoder Grand Contest 016 E - Poor Turkeys
题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_e 题目大意: 有\(N\)只火鸡,现有\(M\)个人,每个人指定了两只火鸡\(x,y\),每 ...
- AtCoder Grand Contest 016 C - +/- Rectangle
题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_c 题目大意: 给定整数\(H,W,h,w\),你需要判断是否存在满足如下条件的矩阵,如果存在 ...
- AtCoder Grand Contest 016 B - Colorful Hats
题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_b 题目大意: 有\(N\)只猫,每只猫头上带着一个帽子,帽子有颜色,现在告诉你每只猫能看到的 ...
- AtCoder Grand Contest 016 F - Games on DAG
题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_f 题目大意: 给定一个\(N\)点\(M\)边的DAG,\(x_i\)有边连向\(y_i\) ...
- Atcoder Grand Contest 016 F - Games on DAG(状压 dp)
洛谷题面传送门 & Atcoder 题面传送门 如何看待 tzc 补他一个月前做的题目的题解 首先根据 SG 定理先手必输当且仅当 \(\text{SG}(1)=\text{SG}(2)\). ...
- AtCoder Grand Contest 016题解
传送门 \(A\) 直接枚举最终的字母然后模拟就行了-- 就这数据范围还是别学我写的这种做法了-- const int N=105; char s[N];int las[26],mx[26],n,re ...
- AtCoder Grand Contest 012
AtCoder Grand Contest 012 A - AtCoder Group Contest 翻译 有\(3n\)个人,每一个人有一个强大值(看我的假翻译),每三个人可以分成一组,一组的强大 ...
- AtCoder Grand Contest 011
AtCoder Grand Contest 011 upd:这篇咕了好久,前面几题是三周以前写的... AtCoder Grand Contest 011 A - Airport Bus 翻译 有\( ...
- AtCoder Grand Contest 031 简要题解
AtCoder Grand Contest 031 Atcoder A - Colorful Subsequence description 求\(s\)中本质不同子序列的个数模\(10^9+7\). ...
随机推荐
- iOS学习——内存泄漏检查及原因分析
项目的代码很多,前两天老大突然跟我说项目中某一个ViewController的dealloc()方法没有被调用,存在内存泄漏问题,需要排查原因,解决内存泄漏问题.由于刚加入项目组不久,对出问题的模块的 ...
- 掌握numpy(二)
目录 掌握numpy(一) 掌握numpy(二) 掌握numpy(三) 掌握numpy(四) 数组的reshape 顾名思义,就是对数组的形状进行改变,比如行变成列,一行变多行等. in place ...
- headfirst设计模式(4)—工厂模式
开篇 天天逛博客园,就是狠不下心来写篇博客,忙是一方面,但是说忙能有多忙呢,都有时间逛博客园,写篇博客的时间都没有?(这还真不好说) 每次想到写一篇新的设计模式,我总会问自己: 1,自己理解了吗? 2 ...
- Visual simultaneous localization and mapping: a survey 论文解析(全)
当激光或声纳等距离传感器被用来构建小的静态环境的二维地图时,SLAM的问题被认为是解决的.然而,对于动态,复杂和大规模的环境,使用视觉作为唯一的外部传感器,SLAM是一个活跃的研究领域. 第一部分是简 ...
- bzoj 3712: [PA2014]Fiolki
Description 化学家吉丽想要配置一种神奇的药水来拯救世界.吉丽有n种不同的液体物质,和n个药瓶(均从1到n编号).初始时,第i个瓶内装着g[i]克的第i种物质.吉丽需要执行一定的步骤来配置药 ...
- dd 命令详解
作用: dd 是一个Unix和类Unix系统中的命令, 主要功能为转换和赋值文件.在Unix和类Unix系统上, 硬件的设备驱动(如硬盘) 和特殊设备文件(如/dev/zero, /dev/rando ...
- 详解PHP反射API
PHP中的反射API就像Java中的java.lang.reflect包一样.它由一系列可以分析属性.方法和类的内置类组成.它在某些方面和对象函数相似,比如get_class_vars(),但是更加灵 ...
- 阅读MDN文档之CSS选择器介绍(一)
本文为阅读MDN文档笔记 目录 Different types of Selectors Attribute Selectors Presence and value attribute select ...
- Linux下巧用cat与EOF实现文件的替换和追加
本文地址http://comexchan.cnblogs.com/,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢! ================================== ...
- Git详解之五:分布式Git
为了便于项目中的所有开发者分享代码,我们准备好了一台服务器存放远程 Git 仓库.经过前面几章的学习,我们已经学会了一些基本的本地工作流程中所需用到的命令.接下来,我们要学习下如何利用 Git 来组织 ...