终于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场的更多相关文章

  1. NOI.AC NOIP模拟赛 第五场 游记

    NOI.AC NOIP模拟赛 第五场 游记 count 题目大意: 长度为\(n+1(n\le10^5)\)的序列\(A\),其中的每个数都是不大于\(n\)的正整数,且\(n\)以内每个正整数至少出 ...

  2. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  3. NOI.AC NOIP模拟赛 第四场 补记

    NOI.AC NOIP模拟赛 第四场 补记 子图 题目大意: 一张\(n(n\le5\times10^5)\)个点,\(m(m\le5\times10^5)\)条边的无向图.删去第\(i\)条边需要\ ...

  4. NOI.AC NOIP模拟赛 第三场 补记

    NOI.AC NOIP模拟赛 第三场 补记 列队 题目大意: 给定一个\(n\times m(n,m\le1000)\)的矩阵,每个格子上有一个数\(w_{i,j}\).保证\(w_{i,j}\)互不 ...

  5. NOI.AC NOIP模拟赛 第二场 补记

    NOI.AC NOIP模拟赛 第二场 补记 palindrome 题目大意: 同[CEOI2017]Palindromic Partitions string 同[TC11326]Impossible ...

  6. NOI.AC NOIP模拟赛 第一场 补记

    NOI.AC NOIP模拟赛 第一场 补记 candy 题目大意: 有两个超市,每个超市有\(n(n\le10^5)\)个糖,每个糖\(W\)元.每颗糖有一个愉悦度,其中,第一家商店中的第\(i\)颗 ...

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

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

  8. NOIP模拟赛 篮球比赛2

    篮球比赛2(basketball2.*) 由于Czhou举行了众多noip模拟赛,也导致放学后篮球比赛次数急剧增加.神牛们身体素质突飞猛进,并且球技不断精进.这引起了体育老师彩哥的注意,为了给校篮球队 ...

  9. NOIp模拟赛二十八

    (这是NOIp模拟赛?应该是NOI模拟赛不小心加了个p) 嗯,假装这是正经的NOIp模拟赛,从今天开始也写写题解吧(这几天被虐的惨惨) 今日情况:8+50+0=58 A题输出样例,B题正解写挂,C题不 ...

随机推荐

  1. XGB算法梳理

    学习内容: 1.CART树 2.算法原理 3.损失函数 4.分裂结点算法 5.正则化 6.对缺失值处理 7.优缺点 8.应用场景 9.sklearn参数 1.CART树 CART算法是一种二分递归分割 ...

  2. Centos7 Jenkins

    代码上线 持续集成 随时随地将代码合并,这种方法叫做持续集成. 持续集成(CONTINUOUS INTEGRATION,简称CI)持续集成指的是,频繁地(一天多次)将代码集成到主干.它的好处主要有两个 ...

  3. mkswap命令详解

    基础命令学习目录首页 原文链接:http://blog.51cto.com/arlen99/1743841 mkswap命令用于在一个文件或者设备上建立交换分区.在建立完之后要使用sawpon命令开始 ...

  4. Django_rest_framework_Serializer

    序列化Serializer 序列化用于对用户请求数据进行验证和数据进行序列化(为了解决queryset序列化问题). 那什么是序列化呢?序列化就是把对象转换成字符串,反序列化就是把字符串转换成对象 m ...

  5. No.100_第一次团队会议

    任务的确立 这次会议,我们的主要目标是确定任务: 我们的任务有以下几个选择: 学霸网站,这个项目拥有以前的前端代码,我们再使用Django后端服务.上手难度较低,环境较好. 多平台时间管理软件. 安卓 ...

  6. 20172324 2017-2018-2《程序设计与数据结构》第五周 n!的计算

    20172324 2017-2018-2<程序设计与数据结构>实验2报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 曾程 学号:20172324 实验教师:王志强 ...

  7. spring冲刺第七天

    昨天进行地图和人物的代码整合,有所缺陷. 今天使人物成功的在地图上运动,并设计炸弹爆炸效果. 遇到的问题:炸弹不会吧人物炸死,只会炸没砖块.

  8. 浅学html

    数据库web端需要了解html等语言,就初浅学习一下 <!DOCTYPE html> <html> <head> <meta charset="ut ...

  9. angularJS1笔记-(15)-自定义指令(accordion伸缩菜单原始实现)

    index.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  10. VS提示“无法启动IIS Express Web服务器”的解决方法

    有时在使用Visual Studio运行项目时,会提示“无法启动IIS Express Web服务器”,如图: 可以依次尝试以下方法(我的情况使用第一种就解决了): 1.可能原因:误操作执行了:Sc ...