东北育才 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题不 ...
随机推荐
- EF多个上下文迁移
步骤: 1. Enable-Migrations 2. add-migration Initial -ConfigurationTypeName ModelOneDbConfig 3. update- ...
- xlrd模块学习
python常用模块目录 )# 打开Excel文件读取数据 import xlrd workbook = xlrd.open_workbook('mcw_test.xlsx') print(workb ...
- exit命令详解
基础命令学习目录首页 原文链接:https://www.cnblogs.com/itcomputer/p/4157859.html 用途说明 exit命令用于退出当前shell,在shell脚本中可以 ...
- idea最常使用的快捷键
撤销 反撤销 : Ctrl+Z / Ctrl+Shift+Z 删除一行 : Ctrl+Y 跳到实现类 : Ctrl+Alt+B 重命名文件: shift+F6 控制台放大缩小: ctrl+shif ...
- leetcode 184 部门工资最高的员工
题目描述:Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id. Department 表包含公司所有部门的信息. 编写一个 SQL 查询,找 ...
- 第二阶段Sprint2
昨天:讨论冲刺阶段,目标,任务认领 今天:查看资料,开始视频录制部分的代码实现 遇到的问题:不能暂停后继续录制,只能直接结束
- Alpha版本冲刺(三)
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:丹丹 组员7:家伟 组员8:政演 组员9:鸿杰 组员10:刘一好 组员11:何宇恒 展示组内最 ...
- 项目总结之关于JQuery一些常用的函数
最近做一个小的项目,用到了很多关于jquery函数,下面简单总结下自我感觉比较常用的一些函数. jquery函数--Hide函数用法 jquery中,hide函数用于实现层的消失,相反,show函数用 ...
- 更改数据库字符集编码引起的问题、textarea标签输出内容时不能顶格(左对齐)输出
用svn拉下来的项目,部署好的Oracle数据库(gbk编码),用tomcat部署好并发布项目,当访问相关网页时,出现乱码.于是把Oracle的字符编码改成utf8,tomcat也改成UTF-8,重新 ...
- “四则运算生成程序——GUI支持和部分功能改进”链接
项目成员:张金生 张政 <正文随笔发布在张金生博客中> 四则运算生成程序——GUI支持和部分功能改进