GDKOI2016
天若有情天亦老 月若无恨月常圆
Day1
score
cardcaptor AAAAAAAATT
protal WWWWWWWWWW
treasurehunt AAAAWXXXXX
map AAATTTTTTT
cardcaptor
首先需要拆位做。
然后用线段树维护,对于区间\([l,r]\)需要记录的信息有:
- \(0\)和\(1\)的个数。
- 询问该区间的结果。
这样就可以轻松合并两个区间了。可惜常数比较大。
还有一种做法,十分精巧,基于该事实:令\(s_i\)表示\(\text{xor}_{j=0}^i a_j\),区间\([l,r]\)的异或和等于\(s_r \text{xor} s_{l-1}\)。
若询问\([l,r]\)的答案,仅需要查询\(s_{l-1\cdots r}\) \(0\)和\(1\)的个数。所以只需要维护\(s\),当然需要懒标记。
protal
表示我不会做期望题。。。
这题主要是从同一个地点有多个出发的门的问题,这个问题处理很经典,就略过了。^-^
treasurehunt
典型的最大权闭合子图。
map
典型的类插头DP。数据范围较小,随意做。
Day2
score
coloring AAAWWWWWWW
qt AAAAAAAAAA
necklace2 AAAAAAAAAA
math WWWWWWWWWW
coloring
经典的博弈论。
qt
经典的数位DP。
necklace2
题目等价于,选出两个相邻的回文串,使得他们的长度和最长。
问题难在长度和超过了n怎么办。
我们可以枚举第一个中心,然后找到最长的回文串作为第一个回文串,然后在该回文串右边拼接一个最长的但和第一个加起来长度不超过n的回文串。
反证法可以证明正确性。
math
先补点常识:
- 一个数最多只有一个逆元,反证法证明。
- \[{a \over p} \mod p^k = {a \mod p^{k+1}\over p}\]
- \[{1 - x^{n+1}\over 1 - x} = \sum_{i=1}^n x^i\]
- 求\[\sum_i i^k\]可以用矩阵乘法或什么“伯努利数”。
然后,设\(f(n, p, k)\)为原问题,先把与p不互质的递归处理。
\[f(n,p,k) = f(n / p, p, k + 1) / p + ans\],这里的\(ans\)是与\(p\)互质的。
设\(i=ap + b\),那么有
\[{1 \over i} = {1\over ap+b}\]
\[={1\over b}{1 \over 1 - (- {ap \over b})}\]
\[={1\over b}{1 - ({ap \over b})^k \over 1 - (- {ap \over b})}\]
\[={1\over b}\sum_{i=1}^{k-1}({ap \over b})^k\]
然后用乱搞就可以了。
这里有个黑科技:
ll multiply(const ll &a, const ll &b, const ll &MOD) {
/*
ll ret = 0;
ll s = a;
for (ll i = b; i; i >>= 1) {
if (i & 1) ret = (ret + s) % MOD;
s = (s << 1) % MOD;
}
return ret;
*/
ll t = (ll) ((double) a * b / MOD);
ll ret = a * b - t * MOD;
return (ret % MOD + MOD) % MOD;
}
GDKOI2016的更多相关文章
- [GDKOI2016]小学生数学题
记 $F(n)=\sum\limits_{i=1}^{n}i^{-1}$ $G(n)=\sum\limits_{i=1,i\neq jp}^{n}i^{-1}$ 我们要算$F(n)\%p^k$ 那么 ...
- GDKOI2016 游记
2016.2.19~2.15强行广州koi被虐…… DAY 0 19日下午到达,第六次入住中大西苑宾馆,怂逼抽签抽中外交大使特殊职位,然后就一边看<死神>一边等石门两位室友啦.必须吐槽宾馆 ...
- 【XSY1515】【GDKOI2016】小学生数学题 组合数学
题目描述 给你\(n,k,p\)(\(p\)为质数),求 \[ \sum_{i=1}^n\frac{1}{i}\mod p^k \] 保证有解. \(p\leq {10}^5,np^k\leq {10 ...
- 【GDKOI2016】 魔卡少女 线段树
题目大意:给你一个长度为n的序列${a_1....a_n}$,有$m$次操作 每次操作有两种情况:修改$a_i$的值,询问$[l,r]$中所有子区间的异或和. 数据范围:$n,m≤10^5$,$a_i ...
- GDKOI2016 爆零记
滚粗了非常伤心>_< day 0 老师通知能够去试机,于是非常愉快地将近三点半左右的时间到了二中.然后发现老师已经准备关机房了,说我怎么才来.. .喂喂喂不是说三点半到五点的么 晚上本来想 ...
- [GDKOI2016]染色大战
Description
- GDKOI2016总结——被虐之旅
前言 一个被虐的旅程... 这次GDKOI的比赛虽然基本全上暴力,但是居然只有两道题得了分:30+30=60!我感觉整个人都不好了... day0 在去广州的路上,本来心情很好,但是坐在我斜后面的那位 ...
- 【JZOJ4359】【GDKOI2016】魔卡少女
题目描述 君君是中山大学的四年级学生.有一天在家不小心开启了放置在爸爸书房中的一本古书.于是,君君把放在书中最上面的一张牌拿出来观摩了一下,突然掀起一阵大风把书中的其她所有牌吹散到各地.这时一只看上去 ...
随机推荐
- XML 文档解析操作
sing System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security; ...
- Java中布尔类型操作符&=,|=与^=的使用
今天在对同事的代码进行code review的时候,见到一个比较好玩的写法.“flag &= false:”,乍一看,还感觉他写错了,但是程序可以正常运行,赶紧去百度,看一下这个写法到底是怎么 ...
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中, ...
- 五子棋Web版的开发(三)
最近在这个上面花费的时间不多,进展不大,而且遇到了一个问题好久也没有解决..我将struct2 改为Spring MVC.但是ziRUL的自动映射却无法起作用. 一直不知道为什么会出现这个问题.. ...
- 织梦dedecms|文章页通用标签
当前位置: {dede:field name='position'/}上一页: {dede:prenext get='pre'/}下一页: {dede:prenext get='next'/}收 ...
- cocoapod的安装与使用
cocoaPods的使用 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...
- p2.js物理引擎学习
P2简介 P2是一款基于Javascript编写的HTML5 2D物理引擎,和Box2D.Nape等2D物理引擎一样,P2集成了各种复杂的物理公式和算法,可以帮助我们轻松的实现碰撞.反弹等物理现象的模 ...
- c++ 输出虚函数表内容
class Base{ public: virtual void f(){cout<<"Base::f"<<endl;} virtual void g(){ ...
- UVA 11754 - Code Feat(数论)
UVA 11754 - Code Feat 题目链接 题意:给定一个c个x, y1,y2,y3..yk形式,前s小的答案满足s % x在集合y1, y2, y3 ... yk中 思路:LRJ大白例题, ...
- 理解SQL SERVER中的分区表
转自:http://www.cnblogs.com/sienpower/archive/2011/12/31/2308741.html 简介 分区表是在SQL SERVER2005之后的版本引入的特性 ...