AtCoder Grand Contest 013
这场打得蛮菜的,很晚才出BC,还一堆罚时……
A - Sorted Arrays
题目大意:将给定数列划分成单调不增或单调不减的区间,求最少区间数。
贪心即可。
#include<cstdio>
#include<algorithm>
#define MN 1000001
using namespace std; int read_p,read_ca;
inline int read(){
read_p=;read_ca=getchar();
while(read_ca<''||read_ca>'') read_ca=getchar();
while(read_ca>=''&&read_ca<='') read_p=read_p*+read_ca-,read_ca=getchar();
return read_p;
}
const int MOD=1e9+;
int n,a[MN],m=,mmh=;
int main(){
int i,j;
n=read();
for (i=;i<=n;i++) a[i]=read();
for (i=;i<=n;i++){
if (a[i]==a[i-]) continue;
if (m==-&&a[i]>a[i-]) mmh++,m=;else
if (m==&&a[i]<a[i-]) mmh++,m=;else
m=a[i]>a[i-]?:-;
}
printf("%d\n",mmh+);
}
B - Hamiltonish Path
题目大意:无向图中任意求一条路径,使得与端点直接相连的所有点都在路径上。
一条不合法的路径就是端点可以继续往外拓展的路径。那么直接从一个点出发,拓展两次,把两次的终点作为端点即可。
因为输出顺序写错卡了好久。
#include<cstdio>
#include<algorithm>
#define MN 400001
using namespace std; int read_p,read_ca;
inline int read(){
read_p=;read_ca=getchar();
while(read_ca<''||read_ca>'') read_ca=getchar();
while(read_ca>=''&&read_ca<='') read_p=read_p*+read_ca-,read_ca=getchar();
return read_p;
}
const int MOD=1e9+;
int n,a[MN],m=,mmh=,x,y,l[MN],r,st[MN],top=,_st[MN],_top=,num;
struct na{int y,ne;}b[MN<<];
inline void in(int x,int y){b[++num].y=y;b[num].ne=l[x];l[x]=num;}
bool bo[MN];
void dfs(int p){
st[++top]=p;
bo[p]=;
for (int i=l[p];i;i=b[i].ne)
if (!bo[b[i].y]) {dfs(b[i].y);break;}
}
void _dfs(int p){
_st[++_top]=p;
bo[p]=;
for (int i=l[p];i;i=b[i].ne)
if (!bo[b[i].y]) {_dfs(b[i].y);break;}
}
int main(){
int i;
n=read();m=read();
for (i=;i<=m;i++) x=read(),y=read(),in(x,y),in(y,x);
dfs();
_dfs();
printf("%d\n",top+_top-);
for (i=top;i;i--) printf("%d ",st[i]);
for (i=;i<=_top;i++) printf("%d ",_st[i]);
}
C - Ants on a Circle
题目大意:一个环上一些蚂蚁在走,有顺逆时针两种方向,一秒走一步,相撞都掉头,问T秒后每只的位置。
先把相撞掉头这点换成交换编号,然后就不会做惹T_T
幸得tjw神犇相救。
回到原问题就比较容易看出,蚂蚁的相对位置是不变的。那么对最终位置排序并统计蚂蚁走了多少圈(跨过L-1与0的分界多少次),在对应的下标上移动即可。
#include<queue>
#include<cstdio>
#include<algorithm>
#define MN 110001
using namespace std; int read_p,read_ca;
inline int read(){
read_p=;read_ca=getchar();
while(read_ca<''||read_ca>'') read_ca=getchar();
while(read_ca>=''&&read_ca<='') read_p=read_p*+read_ca-,read_ca=getchar();
return read_p;
}
int n,l,t,p[MN],w[MN];
long long T=;
int main(){
register int i;
n=read();l=read();t=read();
for (i=;i<n;i++) p[i]=read(),w[i]=read();
for (i=;i<n;i++) p[i]+=w[i]==?t:-t,T+=p[i]/l,p[i]%=l;
for (i=;i<n;i++) if (p[i]<){
T--;
p[i]+=l;
}
sort(p,p+n);T%=n;
for (i=;i<n;i++) printf("%d\n",p[(i+T+n)%n]);
}
AtCoder Grand Contest 013的更多相关文章
- AtCoder Grand Contest 013 C:Ants on a Circle
题目传送门:https://agc013.contest.atcoder.jp/tasks/agc013_c 题目翻译 给你一个周长为\(L\)的圆,有\(N\)只蚂蚁在圆上爬,速度为一单位距离每秒. ...
- AtCoder Grand Contest 013 E - Placing Squares
题目传送门:https://agc013.contest.atcoder.jp/tasks/agc013_e 题目大意: 给定一个长度为\(n\)的木板,木板上有\(m\)个标记点,距离木板左端点的距 ...
- Atcoder Grand Contest 013 E - Placing Squares(组合意义转化+矩阵快速幂/代数推导,思维题)
Atcoder 题面传送门 & 洛谷题面传送门 这是一道难度 Cu 的 AGC E,碰到这种思维题我只能说:not for me,thx 然鹅似乎 ycx 把题看错了? 首先这个平方与乘法比较 ...
- AtCoder Grand Contest 013 C :Ants on a Circle
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- AtCoder Grand Contest 013题解
传送门 \(A\) 先把相同的缩一起,然后贪心就可以了 //quming #include<bits/stdc++.h> #define R register #define fp(i,a ...
- 【agc013d】AtCoder Grand Contest 013 D - Piling Up
题意 盒子里有n块砖,每块的颜色可能为蓝色或红色. 执行m次三步操作: 1.从盒子里随便拿走一块砖 2.放入一块蓝砖和红砖到盒子里 3.从盒子里随便拿走一块砖 给定n,m 问拿出来的砖,可能有多少种不 ...
- 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\). ...
随机推荐
- 【CSS3】动画
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Windows 刷新DNS缓存
释放IP配置信息 ipconfig /release 刷新DNS ipconfig /flushdns 更新网卡适配器 ipconfig /renew
- 30分钟入门Java
技术只是工具,文档只是说明书,仅此而已. 写在前面 工作4年有余,盲人摸象般的走过弯路,也投机取巧的领悟到过一些类似"编程本质"的东西.现在开始我计划回顾下我的编程生涯.在这里分享 ...
- 用Go校验下载文件之SHA256
用GO校验下载文件之SHA256 原来对计算机和网络使用安全这块不够重视,用了N多年盗版的操作系统和办公软件,为了破解使用过各种激活软件,也安装使用过很多别人破解过的软件:网络下载的文件从不校验.慢慢 ...
- python 算法学习部分代码记录篇章1
# -*- coding: utf-8 -*- # @Date : 2017-08-19 20:19:56 # @Author : lileilei '''那么算法和数据结构是什么呢,答曰兵法''' ...
- Python 错误 UnicodeEncodeError: 'ascii' codec can't encode character 的解决方案
一.使用workbook.get_sheet_by_name(name) 获取excel一个工作表时,发生字符集解析的错误. 网上搜集解决方案为添加以下三句: import sys reload(sy ...
- 尤克里里 ukulele 单板 非kaka tom uma
本店冲人气优惠,不搞倒闭之类的事 23寸尤克里里 单板 单板 单板 彩贝镶边演出大气 单板 单板 单板 彩贝镶边演出大气 单板 单板 单板 彩贝镶边演出大气 配件选购40元全套(加棉琴包.金属变调夹. ...
- 最近提交一个mysql5.7的bug,提醒自己以后注意写SQL要规范
最近帮朋友提交一个mysql5.7的bug , oracle mysql 的大神还回复我 , 以后注意书写sql规范 , 潜台词是不是不要给他们增加工作量 https://bugs.mysql.com ...
- php 理解
<?php class t { var $num; var $dynamic_function; public function dynamic_function() { $func = $th ...
- 几种加密算法的java实现包括MD5、RSA、SHA256
SHA加密: package com; import java.security.MessageDigest;import java.security.NoSuchAlgorithmException ...