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 ...
随机推荐
- IIS7.0发布Web服务-0001
配置错误 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的 (overrideModeDefault="Deny"),或者是通过包含 ove ...
- 通过JAVA程序测试闰年
首先简要介绍一下公历上规定的闰年:四年一闰,百年不闰,四百年再闰. 针对这一规则,简要的设计部分测试用例: 附(测试截图): 以下为该程序代码段: import javafx.application. ...
- MySQL自动化运维之用mysqldump和mysqlbinlog实现某一数据库的每周全备和每天差异备份,并添加到执行计划【热备】
案例: 线上有一数据库,需要每周全备一次,每天差备一次[安全起见还是差备吧,不要增备,不要吝啬磁盘哦,而且差备恢复还很快] 1.每周对数据库hellodb做完全备份 crontab任务计划: * * ...
- Elasticsearch Configuration 中文版
##################### Elasticsearch Configuration Example ##################### # This file contains ...
- React Native踩坑Tip
最近在使用React Native(以下简称RN)中踩了个坑,RN只能异步调用原生方法,所以在原生方法直接调用UI刷新操作需要将任务递交到主线程才可以. RCT_EXPORT_METHOD(finis ...
- 【Android】NavigationView头部点击监听事件
AndroidStudio给出的模板里面只有列表点击事件,即实现OnNavigationItemSelectedListener中的onNavigationItemSelected方法,根据item的 ...
- MySQL 应用优化
一.使用连接池 二.减少对MySQL的访问 (A) 避免对同一数据做重复检索. (B) 使用查询缓存,MySQL的查询缓存会存储SELECT查询的命令文本和相应的结果. (C) 增加CACHE层 三. ...
- swift与OC之间不得不知道的21点
swift与OC之间不得不知道的21点 自6月的WWDC大会上由苹果的大神Chris Lattner向我们首次展示swift至今已经大半年时间了,虽然绝大部分软件公司代码里还都见不到一丁点swif ...
- 为WIN8 APP创建置顶desktop应用
Windows 8: TopMost window I am working on my next ambitious project “MouseTouch” which is multi to ...
- Windows 网络编程
网络编程 API ,失败返回 -,错误代码 WSASYSNOTREADY 表示基础网络子系统没有准备好网络通行,WSAVERNOTSUPPORTED 表示 Socket 版本不支持,WSAEINPRO ...