题目背景

下发压缩包链接: 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

输出格式:

一行一个数表示答案

输入输出样例

输入样例#1:

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
输出样例#1:

34
输入样例#2:

1 233333
233 233 233
输出样例#2:

223081
输入样例#3:

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
输出样例#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的更多相关文章

  1. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  2. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  3. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  4. 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程

    数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...

  5. 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...

  6. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

  7. 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...

  8. CH Round #58 - OrzCC杯noip模拟赛day2

    A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...

  9. CH Round #52 - Thinking Bear #1 (NOIP模拟赛)

    A.拆地毯 题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20-%20Thinking%20Bear%20%231%20(NOI ...

随机推荐

  1. AD9850驱动程序--MSP430版本

    前段时间忙着画板子搞运放搞滤波了,程序更新的少,发现MSP430不是太好用,尤其Timer,不过也与我使用内部晶振有关,产生正玄波之前用MSP430发出PWM,再进行滤波变为正弦波太麻烦了,这次改用D ...

  2. shell脚本-高级变量

    shell脚本-高级变量 字符串变量切片 ${#var}: 返回字符串变量var的长度 ${var:offset}: 返回字符串变量var中从第offset个字符后(不包括第offset 个字符)的字 ...

  3. robotframework - 介绍&应用

    一.参考简书链接 :https://www.jianshu.com/p/c3a9d20db4e5 二.介绍 Robot Framework是一个基于Python的,可扩展的关键字驱动的测试自动化框架, ...

  4. 326 Power of Three 3的幂

    给出一个整数,写一个函数来确定这个数是不是3的一个幂.后续挑战:你能不使用循环或者递归完成本题吗? 详见:https://leetcode.com/problems/power-of-three/de ...

  5. SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程

    SAS进阶<深入解析SAS>之SAS数据挖掘的一般流程 1. 所谓数据挖掘,是指通过对大量的数据进行选择.探索与建模,来揭示包含在数据中以前不为人所知的模式或规律,从而为商业活动或科学研究 ...

  6. Contact

    UF3000: 1.wafer进去prober后,默认probercard不会跟chuck上的wafer接触. 2.通过prober界面上的按钮向上移动,使得prober card和wafer的距离为 ...

  7. [Android]异常8-android.view.WindowManager$BadTokenException

    背景:Service服务中使用WindowManager时,Android4.4使用正常,Android6.0使用应用崩溃停止运行,提示android.view.WindowManager$BadTo ...

  8. C#——设置开机启动

    将exe应用程序设置为开机启动,有多种方法,我们主要通过注册表设置开机启动选项. using Microsoft.Win32; using System.Windows.Forms; static v ...

  9. 【译】x86程序员手册15-5.2页转换

    5.2 Page Translation 页转换 In the second phase of address transformation, the 80386 transforms a linea ...

  10. Python 之列表操作

    # len(list)列表元素个数 # max(list)返回列表元素最大值 # min(list)返回列表元素最小值 # list(seq)将元组转换为列表 # list.append(obj)在列 ...