东北育才 NOIP模拟赛第1场

终于400了。这套题很鬼畜。两道贪心。
GRACE sort过后,不能直接统计,本人毫无多想,相同的直接放在一起。结果太多人AC。
SUM sigma+异或和(可使用前缀和处理),本人毫无考虑乱MOD,居然对了50分。(注意处理2^63-1)
#define PN "sum"
#include <cstdio>
#include <cstring>
#include <algorithm>
template<class T>inline void readin(T &res) {
static char ch;T flag = ;
while((ch=getchar())<''||ch>'')if(ch=='-')flag=-;
res=ch-;
while((ch=getchar())>=''&&ch<='')res=(res<<)+(res<<)+ch-;
res*=flag;
}
const long long MOD = 23333333333333333LL;
long long calc[], K[];
void CAL(long long a,long long delta) {
long long k;a+=;
for( long long bit = , pow = ; bit <= ; bit++,pow<<= ) {
k=a/pow/*pow;
calc[bit]=calc[bit]+(k+std::min(a-(k<<),pow))*delta;
}
}
long long add(long long a,long long b) {return a+b>MOD?a+b-MOD:a+b;}
long long cheng(long long a,long long b) {
long long res;
for(res=;a;a>>=,b=add(b,b)) if(a&) res=add(res,b);
return res;
}
int main() {
freopen(PN ".in","r",stdin);
freopen(PN ".out","w",stdout);
long long T, a, b, c;readin(T);
for( long long bit = , pow = ; bit <= ; bit++,pow<<= ) K[bit]=pow%MOD;
while(T--) {
readin(a);readin(b);readin(c);
memset(calc, , sizeof(calc));
if(b==9223372036854775807LL) for( long long bit = ; bit <= ; bit++ ) calc[bit]=4611686018427387904LL;
else CAL(b,);
CAL(a-,-);
long long ans = ;
for( long long bit = , pow = ; bit<=; bit++,pow<<=,c>>= ) {
if(c&) ans=(ans+cheng(calc[bit],K[bit]))%MOD;
else ans=(ans+cheng(b-a+-calc[bit],K[bit]))%MOD;
}
printf("%lld\n",ans);
}
return ;
}
SUM
CACTUS 大部分都是对的,直接倍增,并不苛求用链剖。注意点权下放后的处理。(两行的错误)
FLOW 贪心,无后效性,直接跑就完了!本人以为是DP+数据结构优化,虽然题解也这么写。
竟然最初只有55!不想说了,完毕。
东北育才 NOIP模拟赛第1场的更多相关文章
- NOI.AC NOIP模拟赛 第五场 游记
NOI.AC NOIP模拟赛 第五场 游记 count 题目大意: 长度为\(n+1(n\le10^5)\)的序列\(A\),其中的每个数都是不大于\(n\)的正整数,且\(n\)以内每个正整数至少出 ...
- NOI.AC NOIP模拟赛 第六场 游记
NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...
- NOI.AC NOIP模拟赛 第四场 补记
NOI.AC NOIP模拟赛 第四场 补记 子图 题目大意: 一张\(n(n\le5\times10^5)\)个点,\(m(m\le5\times10^5)\)条边的无向图.删去第\(i\)条边需要\ ...
- NOI.AC NOIP模拟赛 第三场 补记
NOI.AC NOIP模拟赛 第三场 补记 列队 题目大意: 给定一个\(n\times m(n,m\le1000)\)的矩阵,每个格子上有一个数\(w_{i,j}\).保证\(w_{i,j}\)互不 ...
- NOI.AC NOIP模拟赛 第二场 补记
NOI.AC NOIP模拟赛 第二场 补记 palindrome 题目大意: 同[CEOI2017]Palindromic Partitions string 同[TC11326]Impossible ...
- NOI.AC NOIP模拟赛 第一场 补记
NOI.AC NOIP模拟赛 第一场 补记 candy 题目大意: 有两个超市,每个超市有\(n(n\le10^5)\)个糖,每个糖\(W\)元.每颗糖有一个愉悦度,其中,第一家商店中的第\(i\)颗 ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOIP模拟赛 篮球比赛2
篮球比赛2(basketball2.*) 由于Czhou举行了众多noip模拟赛,也导致放学后篮球比赛次数急剧增加.神牛们身体素质突飞猛进,并且球技不断精进.这引起了体育老师彩哥的注意,为了给校篮球队 ...
- NOIp模拟赛二十八
(这是NOIp模拟赛?应该是NOI模拟赛不小心加了个p) 嗯,假装这是正经的NOIp模拟赛,从今天开始也写写题解吧(这几天被虐的惨惨) 今日情况:8+50+0=58 A题输出样例,B题正解写挂,C题不 ...
随机推荐
- django之基本配置
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- (第十一周)约跑APP测试报告
项目名称:约跑App 用户需求规格说明书URL:http://www.cnblogs.com/liquan/p/6071804.html 组长博客URL:http://www.cnblogs.com/ ...
- Scrum Meeting 10.31
成员 今日任务 明日任务 今日工作时长 徐越 整理开发文档,学习ip相关知识,学习servlet相关知识 代码迁移,学习数据库相关知识 5h 赵庶宏 学习学长的servlet代码 进行数据库的连接 4 ...
- “学霸系统”app——NABC
“学霸系统”客户端项目是我们小组本次的课题. 一.需求(need) 对于这款软件,我们的目标是在手机端移植并实现网页端已有的用户管理.搜索.分类.上传下载.用户贡献与交互等功能,从而完成从PC到终端的 ...
- wdatepicker控件de使用小方法汇总
在总结wdatepicker控件的使用前,先插播一条吧,下午刚心血来潮百度的一条 问?C#中Int16.Int32.Int64.之间的区别,:::嘿嘿其实百度知道就有,但还是写上吧! Int16 表示 ...
- Task 3 求最大数组和
题目:返回一个整数数组中最大子数组的和. (要求:输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为 ...
- json 数组
/** * 获取 选中的id * @returns {*} */function getCheckedList(){ var groups =[]; $("input[name='check ...
- Mongodb 分片操作 介绍
为什么需要分片操作?由于数据量太大,使得CPU,内存,磁盘I/O等压力过大.当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量.这时,我们就可以通过在多台 ...
- 简单复利计算java板
一.要求: 1.客户说:帮我开发一个复利计算软件. 2如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢? 4.利 ...
- Beta阶段冲刺前的准备
Beta阶段冲刺前的准备 凡事预则立,在Beta开始前,以小组为单位,在敏捷冲刺前发布一篇博客,描述: 1. 讨论组长是否重选的议题和结论 经过我们小组在周二下午的会议中有重新认真的考虑了是否要更换组 ...