noip模拟赛 Massacre at Béziers
题目背景
下发压缩包链接: https://pan.baidu.com/s/1geC4ooz 密码: 3vpt
所有的一切———所有的一切都被染成了红与黑。
翻卷的红莲烈焰舔舐着大地,释放出异抽的黑烟突破天际,红色的死亡与黑色的阴霾正将所有的一切掩埋殆尽……
对于这个世界来说就根本不存在什么救赎。
我向天空仰望。
东方的天空已经开始拉下夜的帷幕。
正将街道烧尽的烈焰与黑烟和接踵而至的炫目夕阳光芒混杂在一起——就像是脏腑一样的天空的颜色。
我祈祷着——
如果这火焰是主对我们的审判,要将一切都烧尽的话,
就让这和永远的烈焰同化的世界不断的燃烧,直到回归为尘土吧。
给予像我们这样可悲的罪人以祝福。
给予在灵魂的牢笼里沉睡的所有怠惰的人们以祝福。
———赐予祝福吧———
隐秘的神啊——
就是现在,请赐予恩宠给您无知迷茫的子民们吧。
阿门。
他们告诫世人,这个世界将永远不会走到尽头
因为最终审判已经降下
并且不会更改,而在那地狱中,
永恒的业火与罪罚不在他处,就在此世间。
(想了解这个直接搜题目名即可)
题目描述
我妻蛤乃给你出了一道送命题:
黄梅时节家家雨,青草池塘处处蛙~
有n只青蛙,第i只青蛙会每过xi秒会连续叫yi秒。然而由于青蛙的寿命在增加,所以从第二次开始每次休息结束后这只青蛙连续叫的时间会增加zi秒。
给定n只青蛙,每一只的xi,yi,zi,以及时间t,求在前t秒中,所有青蛙共叫了多少秒。
输入输出格式
输入格式:
第一行两个数n和t
之后n行,第i+1行每行三个非负整数xi,yi,zi
输出格式:
一行一个数表示答案
输入输出样例
8 10
9 1 1
1 9 9
4 1 0
2 3 3
1 0 0
1 4 0
9 2 5
1 2 1
34
1 233333
233 233 233
223081
10 100000000
1 0 0
1 0 5
1 2 2
1 2 8
1 3 0
1 5 0
1 5 2
1 5 5
1 7 0
1 8 3
845787522
说明
样例#4,#5见下发的文件
【子任务】
子任务会给出部分测试数据的特点。 如果你在解决题目中遇到了困难, 可以尝试只解决一部分测试数据。
每个测试点的数据规模及特点如下表:
测试点编号 | n的范围 | t的范围 | 特殊性质 |
---|---|---|---|
测试点1 | n = 1 | ||
测试点2 | n = 100 | t <= 100 | x = 0 |
测试点3 | n = 100 | y = 0 | |
测试点4 | n = 100 | z = 0 | |
测试点5 | n = 100 | ||
测试点6 | n = 100000 | t <= 100 | x = y = z |
测试点7 | n = 100000 | t <= 100 | z = 0 |
测试点8 | n = 100000 | y = 0 | |
测试点9 | n = 100000 | t <= 100000 | |
测试点10 | n = 100000 |
对于100%的数据,n <= 100000 , t <= 2000000000,x + y + z > 0
0 <= x , y , z <= 2000000000
【说明】
【样例1说明】
每只青蛙分别叫了1,9,2,6,0,8,1,7秒
【样例2说明】
那只青蛙叫了223081秒
【样例3说明】
每只青蛙分别叫了0,99993675,99990000,99994999,75000000,83333333,99990002,99993676,87500000,99991837秒
分析:这道题思路还是挺好想的,利用等差数列前n项和公式S=na0 + n*(n-1)*d/2.二分找一下使得S <= t的最大n,那么这n段时间是可以直接处理的,剩下的边界特判一下就可以了.
比较毒瘤的是二分的时候会爆long long,我在处理的时候特判了一下是否<=2000000000.
#include <cstdio>
#include <cmath>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; typedef long long ll;
ll n, t, ans, res;
ll x, y, z; void solve()
{
scanf("%lld%lld%lld", &x, &y, &z);
ll l = , r = , ans = ;
while (l <= r)
{
ll mid = (l + r) >> ;
if ( / mid >= (mid - ) * z / && (1ll * (x + y) * mid + 1ll * (mid - ) * mid / * z) <= t)
{
l = mid + ;
ans = mid;
}
else
r = mid - ;
}
ll temp = (1ll * (x + y) * ans + 1ll * (ans - ) * ans / * z);
ll tt = ;
tt += temp - 1ll*ans * x;
if (x < t - temp)
tt += t - temp - x;
res += tt;
} int main()
{
scanf("%lld%lld", &n, &t);
while (n--)
solve();
printf("%lld\n", res); return ;
}
noip模拟赛 Massacre at Béziers的更多相关文章
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
- 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程
数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...
- 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...
- 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...
- 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...
- CH Round #58 - OrzCC杯noip模拟赛day2
A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...
- CH Round #52 - Thinking Bear #1 (NOIP模拟赛)
A.拆地毯 题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20-%20Thinking%20Bear%20%231%20(NOI ...
随机推荐
- 第二周 Leetcode 493. Reverse Pairs(HARD)
leetcode 493跟经典的逆序对问题没有什么区别, 首先考虑对数组前半部和后半部求逆序对数,若能保证两段数组都有序,则显然可以在线性时间内求出对数. 所以我们采用归并排序的方法,一方面让数组有序 ...
- bzoj题目分类
转载于http://blog.csdn.net/creationaugust/article/details/513876231000:A+B 1001:平面图最小割,转对偶图最短路 1002:矩阵树 ...
- [Swift通天遁地]二、表格表单-(4)使用系统自带的下拉刷新控件,制作表格的下拉刷新效果
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- Swagger 教程
转自 Vojtech Ruzicka的编程博客 (一)Swagger和SpringFox 记录REST API非常重要.它是一个公共接口,其他模块,应用程序或开发人员可以使用它.即使你没有公开曝光 ...
- JavaScript--编程
第一步:把注释语句注释. 第二步:编写代码,在页面中显示 “系好安全带,准备启航--目标JS”文字: 第三步:编写代码,在页面中弹出提示框“准备好了,起航吧!” 提示: 可以把弹框方法写在函数里. 第 ...
- Hadoop Hive概念学习系列之hive里的桶(十一)
不多说,直接上干货! Hive还可以把表或分区,组织成桶.将表或分区组织成桶有以下几个目的: 第一个目的是为看取样更高效,因为在处理大规模的数据集时,在开发.测试阶段将所有的数据全部处理一遍可能不太 ...
- jenkinsfile or pipline 实现微服务自动发布回滚流程
1 #!/usr/bin/env groovy Jenkinsfile node { //服务名称 def service_name = "**" //包名 def service ...
- 对“空引用”说bye-bye
大家可能经常遇到这种情况:当一个对象为null时,调用这个对象的方法或者属性时,就会报错:“Object reference not set to an instance of an object.” ...
- Dancing Links X 学习笔记
\(\\\) Definitions 双向链表:记录前后两个指针的链表,每个顺序关系都有双向的指针维护. \(Dancing\ Links\):双向十字循环链表,建立在二维关系上,每个元素记录上下左右 ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理
SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...