bzoj1271 秦腾与教学评估
SB题!!!
我TM困惑了一下午,三份代码答案全都不一样,后来才发现要用long long来二分...
拿记事本一改就A了。
我TM......
这SB题目......
这惨痛的事实充分说明了long long的重要性!!!
题解:
还是惨痛的教训:认真看题!
题目说:至多只有一个破绽;我:可能有多个破绽。
然后GG了两天...后来才发现...
然后就好搞了,在前缀和上二分。
去掉long long还是比较有水分的。
#include <cstdio>
typedef long long LL;
const LL N = ;
inline void max(LL &a, LL b) {
if(a < b) a = b;
return;
}
inline void read(LL &x) {
x = ;
char c = getchar();
while(c < '' || c > '') {
c = getchar();
}
while(c >= '' && c <= '') {
x = (x << ) + (x << ) + c - '';
c = getchar();
}
return;
}
struct Group {
LL s, e, d;
}g[N]; LL n; inline LL ge(LL i, LL k) {
if(g[i].s > k) return ;
if(g[i].e <= k) {
return (g[i].e - g[i].s) / g[i].d + ;
}
return (k - g[i].s) / g[i].d + ;
} inline bool check(LL k) {
bool ans = ;
for(LL i = ; i <= n; i++) {
ans ^= (ge(i, k) & );
}
return ans;
} inline LL getsum(LL k) {
LL ans = ;
for(LL i = ; i <= n; i++) {
if(g[i].s > k || g[i].e < k)
continue;
if(!((k - g[i].s) % g[i].d))
ans++;
}
return ans;
} int main() {
LL T, m;
read(T);
while(T--) {
read(n);
m = -;
for(LL i = ; i <= n; i++) {
read(g[i].s); read(g[i].e); read(g[i].d);
max(m, g[i].e);
}
LL l = , r = m, mid;
if(!check(m)) {
printf("Poor QIN Teng:(\n");
continue;
}
while(l < r) {
mid = (l + r) >> ;
if(check(mid)) r = mid;
else l = mid + ;
}
printf("%lld %lld\n", l, getsum(l));
}
return ;
}
AC代码
附:不用long long不WA反T,导致我疯狂卡常数
bzoj1271 秦腾与教学评估的更多相关文章
- [luogu4403][bzoj1271][BJWC2008]秦腾与教学评估
题目描述 在秦腾进入北京大学学习的第一个学期,就不幸遇到了前所未有的教学评估.在教学评估期间,同学们被要求八点起床,十一点回宿舍睡觉,不准旷课,上课不准迟到,上课不准睡觉--甚至连著名的北大三角地也在 ...
- OpenJudge-bailian 3454 秦腾与教学评估
http://bailian.openjudge.cn/practice/3454?lang=en_US 题目 在秦腾进入北京大学学习的第一个学期,就不幸遇到了前所未有的教学评估.在教学评估期间,同学 ...
- [BZOJ1271][WC2008]秦腾与教学评估(巧妙的二分)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1271 分析: 很巧妙的一道题 因为最多只有一个点是奇数,所以说明这个点前面的前缀和都是 ...
- BZOJ1271: [BeiJingWc2008]秦腾与教学评估
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1271 题解: 这种题真是太神了! 只需要考虑被覆盖的次数的奇偶性,并且保证满足题意的点至多只有 ...
- BZOJ 1271 秦腾与教学评估
二分. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
- luogu P4403 [BJWC2008]秦腾与教学评估
题目 一道神奇的题qwq 首先看题很容易想到把所有的点存下来然后暴力枚举...于是RE 20分 所以要找一种不用开那么大的数组的解法(然而我自己是不可能想出来的qwq 注意一个地方,人数为奇数的位置“ ...
- CH0805 防线(秦腾与教学评估)
题意 lsp 学习数学竞赛的时候受尽了同仁们的鄙视,终于有一天......受尽屈辱的 lsp 黑化成为了黑暗英雄Lord lsp.就如同中二漫画的情节一样,Lord lsp 打算毁掉这个世界.数学竞赛 ...
- [BJWC2008]秦腾与教学评估
嘟嘟嘟 二分好题. 怎么二分呢?反正我是没想出来. 看了题解. 因为只有一个为奇数的点,所以对于一个位置x,求出区间[0, x]的教总和,如果为奇数,说明x取大了:否则x取小了(妙啊). 虽然答案在i ...
- Luogu P4403 [BJWC2008]秦腾与教学评估【二分答案】By cellur925
题目传送门 这道题:真·凉心出题人. 二分答案,个人感觉其实并不只适用于有明显的"最大值最小/最小值最大"条件的题目,其实也可以称它为一种"优化的暴力".这题就 ...
随机推荐
- Maven 项目 查找指定包的引用位置
- java 中的Collection
/* *一. Collection?-------->容器! * * 1.来源于java.util包 非常实用的数据结构! * *二. 方法? * * void clear()删除集合中所有元素 ...
- export default用法
// test.js export default { name: 'zs', age: 20 } 或是 // test.js var info = { name: 'zs', age: 20 } e ...
- <resultMap>中 <collection>的使用
public class Question implements Serializable { private int id; //问题Id private int accountId; //用户id ...
- 避免MQ消息重发的简单实现思路
一.MQ消息发送 一.MQ消息发送 1.发送端MQ-client(消息生产者:Producer)将消息发送给MQ-server: 2.MQ-server将消息落地: 3.MQ-server回ACK给M ...
- Spring Boot 构建电商基础秒杀项目 (十二) 总结 (完结)
SpringBoot构建电商基础秒杀项目 学习笔记 系统架构 存在问题 如何发现容量问题 如何使得系统水平扩展 查询效率低下 活动开始前页面被疯狂刷新 库存行锁问题 下单操作步骤多,缓慢 浪涌流量如何 ...
- Real-time chart using ASP.NET Core and WebSocket
Solution in glance The following diagram illustrates our solution where IoT device reports readings ...
- 关于读取mapper的两种方式
第一种: 第二种:
- java数据库导入excel数据
导入数据会将表格分为xls和xlsx两种格式,网上有很多案例 1.excel数据表中的数据不全,数据库中又是必填选项:---从sql语句入手:判断有无 来改变语句 //设置可有可无 字段 加一个必有字 ...
- 通过JPA注解获取某个类的主键字段
public String getPkColumn(String className) { String pkColumn = null; try { Class clazz = Class.forN ...