Good Bye 2016
A - New Year and Hurry (water)
#include <bits/stdc++.h> using namespace std; int main() { ]; ; i <= ; i++) { a[i] = ( + i) * i / * ; } int n ,k; while(~scanf("%d%d", &n, &k)) { ; ; i <= n; i++) { - k >= a[i]) ans = i; } printf("%d\n", ans); } ; }
B - New Year and North Pole(water)
题意:往东南西北走,最后一定要到达北极,走的方式有限制。注意坑点。
#include <bits/stdc++.h> using namespace std; ; int main() { int n; while(~scanf("%d", &n)) { , ok = ; ; i < n; i++) { ]; int dis; scanf("%d%s", &dis, dir); ] == 'S') { if(cur == con || dis > con || cur + dis > con) { ok = ; } cur += dis; } ] == 'N') { || dis > con || cur - dis < ) { ok = ; } cur -= dis; } else { || cur == con) ok = ; } } ) ok = ; if(ok) { printf("YES\n"); } else { printf("NO\n"); } } ; }
C - New Year and Rating(脑洞?思维?)
题意:给你一系列比赛的分数变化值和参加的级别,问你参加完这些比赛后,你的最大rating是多少。
思路:
感觉自己想复杂了,写的又臭又长还错,其实就是维护一个最大值,一个最小值,代表参加这些比赛之前你的rating初始值的范围,然后不断更新这个范围就行了。
阿西吧,想到了维护最大最小值,但是没有用前缀和来做,你会发现每场比赛的时候无非是,rating + sum[i - 1] >= 1900,或者,rating + sum[i - 1] <= 1899两种状态,这么水的题,相岔了= =。
#include <bits/stdc++.h> using namespace std; + ; const int INF = 0x3f3f3f3f; int sum[maxn]; int main() { int n; while(~scanf("%d", &n)) { sum[] = ; ; ; i <= n; i++) { int c, d; scanf("%d%d", &c, &d); sum[i] = sum[i - ] + c; ) {//rating + sum[i-1] >= 1900 minn = max(minn, - sum[i - ]); } ) {//rating + sum[i-1] <= 1899 maxx = min(maxx, - sum[i - ]); } ; } ) { if(maxx != INF) { printf("%d\n", maxx + sum[n]); } else { printf("Infinity\n"); } } else { printf("Impossible\n"); } } ; }
D - New Year and Fireworks(分形)
题意:
思路:
我觉得这题挺好的,练练分形的思想,递归的写法,听完思路,发现自己实现无能,有点懵。然后推一个数学里头的沿直线对称,得到对应坐标点就行了。
关于(i,j)点关于直线y=f(x), y=g(x)对称的点(x',y'),初中不是学过嘛,x' = g(j),y' = f(i)。不知道这个结论的话....初中数学的知识也够推的,过(i,j)做一条垂直于y=f(x)的直线,然后求交点,然后根据交点和(i,j)得到对称点。
其实这题可以直接暴力模拟,不需要分形的去考虑。不过我还是想练练分形的写法,补一下。
#include <bits/stdc++.h> using namespace std; ; ], n; ][maxn][maxn]; , }; , }; void map_reverse(int pax, int pay, int dir, int cur) { ; i < maxn; i++) { ; j < maxn; j++) { ][i][j]) { ma[cur][i][j] = true; ) ma[cur][j + (pax - pay)][i - (pax - pay)] = true; ) ma[cur][ * pax - i][j] = true; } } } } void f(int pax, int pay, int dir, int cur) { if(cur != n) { f(pax + dx[dir] * (t[cur] - ) + dx[dir ^ ], pay + dy[dir] * (t[cur] - ) + dy[dir ^ ], dir ^ , cur + ); map_reverse(pax, pay, dir, cur); } ; i < t[cur]; i++) { ma[cur][pax + dx[dir] * i][pay + dy[dir] * i] = true; } } int main() { scanf("%d", &n); ; i <= n; i++) { scanf("%d", &t[i]); } f(maxn / , maxn / , , ); ; ; i < maxn; i++) { ; j < maxn; j++) { ][i][j]) cnt++; } } printf("%d\n", cnt); ; }
Good Bye 2016的更多相关文章
- codeforces Good bye 2016 E 线段树维护dp区间合并
codeforces Good bye 2016 E 线段树维护dp区间合并 题目大意:给你一个字符串,范围为‘0’~'9',定义一个ugly的串,即串中的子串不能有2016,但是一定要有2017,问 ...
- Good Bye 2016 A. New Year and Hurry【贪心/做题目每道题花费时间按步长为5等差增长,求剩余时间够做几道题】
A. New Year and Hurry time limit per test 1 second memory limit per test 256 megabytes input standar ...
- Codeforces Good Bye 2016 E. New Year and Old Subsequence
传送门 题意: 给出一个长度为\(n\)的串,现在有\(q\)个询问,每个询问是一个区间\([l,r]\),要回答在区间\([l,r]\)中,最少需要删多少个数,满足区间中包含\(2017\)的子序列 ...
- Good Bye 2016 - D
题目链接:http://codeforces.com/contest/750/problem/D 题意:新年烟花爆炸后会往两端45°差分裂.分裂完后变成2部分,之后这2部分继续按这种规则分裂.现在给你 ...
- Good Bye 2016 - C
题目链接:http://codeforces.com/contest/750/problem/C 题意:在CF中,每个人都有个Rank值. 当Rank>=1900时,为DIV1.Rank< ...
- Good Bye 2016 - B
题目链接:http://codeforces.com/contest/750/problem/B 题意:地球的子午线长度为40000,两极点的距离为20000.现在你从北极出发,按照题目输入方式来走. ...
- Good Bye 2016 - A
题目链接:http://codeforces.com/contest/750/problem/A 题意:有n场比赛要打,第i场比赛需要花i*5分钟来完成,比赛从20:00开始.然后新年派对24:00开 ...
- Good Bye 2016 //智商再次下线,边界爆炸.....
A B很水就略了.. C.又是一次wannafly一样的判断区间的..... 边界设为2000000 正好GG...... fst的时候立马想到上次也是这么wa过的...... 所以下次遇到这种题 ...
- Codeforces Good Bye 2016 D 模拟搜索?
给出烟花的爆炸方式和爆炸次数 问最后有多少个格子会被炸到 如果dfs的话会超时... 利用模拟每一层来搜索..? 思想就是一开始有一个爆炸点向上 然后模拟完第一段 会产生一个爆炸点 朝两个方向 就用v ...
随机推荐
- Mysql基础(一)
Mysql的历史度娘上一堆,就不再介绍了. 本文依照此路径学习Mysql数据库:数据库->表->数据 首先启动Mysql服务,然后通过控制台命令登入root账户输入密码回车 C:\User ...
- 关于点击Invalidate Caches/Restart禁止插件后,重新加载--Android Studio
1:47:27 Plugin Error Problems found loading plugins: Plugin "Google Analytics Uploader" wa ...
- Mac Pro 编译安装 Redis 的 PHP 客户端 phpredis
1.去官网下载 redis 扩展源码包 https://github.com/phpredis/phpredis 2.安装 redis 扩展 /usr/local/src/mac-sdk/source ...
- C和指针 第十六章 标准函数库 信号
信号名<signal.h> 程序中大多数错误都是程序本身导致的,但是,有些程序遇到的事件却不是程序本身所引发的.比如用户终止程序,程序无法预知此类事件发生的情况,信号就是为了对此类事件做出 ...
- Object-C目录
Object学习目录: 1.OC概述 2.OC第一个应用程序 3.OC之类和对象(属性.方法,点语法) 4.OC之类的扩充(self,super关键字.继承.构造函数等) 5.OC之分类Categ ...
- Java性能调优之:idea变慢解决
今天搬砖的时候遇到一个问题,idea总是卡死,完全无法愉快的玩耍.幸好机器是Linux系统的.于是通过以下方式解决了问题: 通过top命令,查看系统运行状态发现4个CPU中有1个CPU用户占用率为10 ...
- PX 和PT的区别
字体大小的设置单位,常用的有2种:px.pt.这两个有什么区别呢? 先搞清基本概念:px就是表示pixel,像素,是屏幕上显示数据的最基本的点: pt就是point,是印刷行业常用单位,等于1/72英 ...
- I18n问题 国际化
http://www.cnblogs.com/guaniu/archive/2012/01/18/2325556.html java国际化 1.了解缺省Locale是由操作系统决定的,Locale是由 ...
- Java transient 关键字
1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问. 2)transient关键字只能修饰变量,而不能修饰方法和类.注意,本地变量是不能被trans ...
- 学习 opencv---(6)玩转opencv源代码:生成opencv 工程解决方案与opencv 源码编译
在这篇中,我们探讨如何通过已安装的opencv选择不同的编译器类型,生成高度还原的OpenCV开发时的解决方案工程文件,欣赏OpenCV新版本中总计 六十六多万行的精妙源代码.我们可以对其源代码进行再 ...