正题

ybtoj 二分-1-2
jzoj 1253
luogu 4403

题目大意

给出n组数:si,ei,dis_i,e_i,d_isi​,ei​,di​
对于每组数据,表示在sis_isi​加1,然后每隔did_idi​就加1,当位置大于eie_iei​时结束
题目保证数字是奇数的位置最多只有1个,问你这个位置是哪里

样例输入

3
2
1 10 1
2 10 1
2
1 10 1
1 10 1
4
1 10 1
4 4 1
1 5 1
6 10 1

样例输出

1 1
There's no weakness.
4 3

数据范围

1⩽T⩽51\leqslant T\leqslant 51⩽T⩽5
1⩽N⩽2×1051\leqslant N\leqslant 2\times 10^51⩽N⩽2×105
0⩽si,Ei,Di<2310\leqslant s_i,E_i,D_i < 2^{31}0⩽si​,Ei​,Di​<231
Si⩽EiS_i\leqslant E_iSi​⩽Ei​
所有位置的数字之和⩽108\leqslant 10^8⩽108

解题思路

二分枚举目标位置
每次O(n)判断这个位置前面的数字之和
因为数字为奇数的位置最多有1个,所以这个位置后面的全是奇数,可以直接判断

代码

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define N 200010
using namespace std;
ll t, n, l, r, mid, s[N], e[N], d[N];
ll pd(ll x)//判断
{ll g = 0;for (int i = 1; i <= n; ++i)if (x >= s[i]) g += (min(e[i], x) - s[i]) / d[i] + 1;return g;
}
int main()
{scanf("%lld", &t);while(t--){l = (1ll<<32);scanf("%lld", &n);for (int i = 1; i <= n; ++i){scanf("%lld%lld%lld", &s[i], &e[i], &d[i]);l = min(l, s[i]);r = max(r, e[i]);}if (!(pd(r)&1))//最后一个位置是偶数{puts("There's no weakness.");continue;}while(l < r)//二分{mid = (l + r) >> 1;if (pd(mid)&1) r = mid;else l = mid + 1;}printf("%lld %lld\n", l, pd(l) - pd(l - 1));//前缀和相减}return 0;
}

【二分】防具布置/秦腾与教学评估(ybtoj 二分-1-2/jzoj 1253/luogu 4403)相关推荐

  1. 【WC2008】【BZOJ1271】秦腾与教学评估(二分,前缀和,奇偶性乱搞)

    problem 一条路上有n个教学评估团,对于每个评估团从s开始每d个站一个人直到e结束 现在要找到一个站的人数是奇数的点,这个点可能没有,且至多只有一个 问这个点在哪以及这个点站了多少人 solut ...

  2. 二分:[BJWC2008]秦腾与教学评估

    洛谷传送门 解析 因为至多有一个单数 假设其位置为k,1-i的累加和为s[i] 则s[1]-s[k-1]全是偶数 s[k]-s[max]全是奇数 答案呈单调性,可以用二分算法 check函数(计算前缀 ...

  3. Luogu P4403 [BJWC2008]秦腾与教学评估【二分答案】By cellur925

    题目传送门 这道题:真·凉心出题人. 二分答案,个人感觉其实并不只适用于有明显的"最大值最小/最小值最大"条件的题目,其实也可以称它为一种"优化的暴力".这题就 ...

  4. 经典二分:秦腾与教学评估

    秦腾与教学评估 题面描述 在秦腾进入北京大学学习的第一个学期,就不幸遇到了前所未有的教学评估.在教学评估期间,同学们被要求八点起床,十一点回宿舍睡觉,不准旷课,上课不准迟到,上课不准睡觉--甚至连著名 ...

  5. [BZOJ1271][BeijingWc2008][二分]秦腾与教学评估

    <题目> <算法> 二分 <分析> 看起来题目挺奇葩的.关键点在于判断的是奇偶,而且只有一处是奇数.利用奇偶数的性质,奇数点后面的数的前缀和全部都是奇数.利用这一性 ...

  6. 论前端工程师如何应对西电教学评估系统

    0x00. 更新 隔了一年多了,一直打算把这个插件再完善一下,这不花了点时间重构了一下.这次更新使大家可以在教学评估列表页(就是那个有很多老师的页面)一键进行评教了. 但是你必须在每次评教完成弹出评估 ...

  7. 内大教务系统教学评估

    原网址: 内大教务系统教学评估 F12 控制台输入 $("input[value='10_1']").prop("checked", true);//全部选择优 ...

  8. 终稿:教材管理系统与教学评估系统

    教学管理系统 实验4:https://blog.csdn.net/weixin_43850826/article/details/90768032 实验3:https://blog.csdn.net/ ...

  9. 易班网页版简易刷题:湖南商学院教学评估考试

    代码没有优化,快的时候十几秒就可以搞定 import time import xlrd from selenium import webdriverdef read_excel(row,col):# ...

最新文章

  1. WIN10下Java环境变量配置
  2. 耗时 2 年,用 8.5 万块乐高积木最牛复刻 Apple Park
  3. 税务系统问题分析 来自CSNA论坛
  4. 【概念信息】成本中心计划
  5. CString::Format
  6. tesseract 提升 速度_京东研发效能提升,从正确地实施度量开始
  7. sendgrid java_java – SendGrid电子邮件API,发送电子邮件附件
  8. spark运行wordcount
  9. OpenCV waitKey 无法正常捕捉方向键(上下左右),总结和解决方案,可以用waitKeyEx...
  10. 《人.地.城》读书笔记
  11. HTML5后台管理模板
  12. oracle显示连接超时,Oracle 12179:tns:连接超时的问题
  13. C#:实现Zhang Suen细化算法(附完整源码)
  14. Access数据类型和SQL数据类型
  15. python英语单词 扇贝英语安卓下载_扇贝单词英语版
  16. 替代A4988的微型打印机驱动TMI8421国产电机驱动芯片
  17. 主页(一)01-搜索栏-顶部搜索栏布局
  18. 【JavaSE】网络编程(606~630)
  19. C语言的高级编程(一)
  20. 死亡的意思就是没有任何意义

热门文章

  1. python 画树 递归_python递归函数绘制分形树的方法
  2. python getattr_详解 Python 的二元算术运算,为什么说减法只是语法糖?
  3. python函数模块化教程_【软件测试教程】Python模块化以及内置模块的使用
  4. 数据结构——二叉树的双序遍历
  5. mysql mysqladmin 介绍_Mysql—mysqladmin 命令详解
  6. java当中用UDP实现相互交流
  7. prim算法和kruskal算法(C语言)
  8. C++map容器-大小和互换
  9. 位向量(bit vector)(算法导论第十一章11.1-2)
  10. 题目 1886: [蓝桥杯][2017年第八届真题]包子凑数(欧几里得+完全背包)