东北育才 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题不 ...
随机推荐
- AS的使用技巧
title: AS的使用技巧 date: 2016-04-01 23:34:11 tags: [AndroidStudio] categories: [Tool,IDE] --- 概述 本文记录如何使 ...
- 基于Neutron的Kubernetes SDN实践经验之谈
首先,向大家科普下Kubernetes所选择的CNI网络接口,简单介绍下网络实现的背景. CNI即Container Network Interface,是一套容器网络的定义规范,包括方法规范.参数规 ...
- mongodb基本使用(三)
MongoDB 创建数据库 语法 MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 如果你想查看所有数据库,可以使 ...
- 搭建gitpage博客
http://blog.csdn.net/jzooo/article/details/46781805
- Linux基础入门--06
简单的文本处理 实验介绍 这一节我们将介绍这几个命令:tr.col.join.paste 1.tr: -d:删除和set1匹配的字符,不是全词匹配也不是按字符顺序匹配 -s:除去指定的连续并重复的字符 ...
- QQ测试计划
- C++课程 second work _1025
传送门 Problem 题目不是特别难,只是跪在了最后一个测试点(已解决). 最后一个测试点= = 无效节点...无力ing
- 弹出提示框的方式——java
1.显示一个错误对话框,该对话框显示的 message 为 'alert': JOptionPane.showMessageDialog(null, "alert", " ...
- Python入门:逻辑判断与运算符
这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...
- By.cssSelector定位元素一个不足发现
这个如果用cssSelector定位,代码如下,此时输出的数值是0 System.out.println(driver.findElements(By.cssSelector("div[c ...