天若有情天亦老 月若无恨月常圆

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

  1. [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$ 那么 ...

  2. GDKOI2016 游记

    2016.2.19~2.15强行广州koi被虐…… DAY 0 19日下午到达,第六次入住中大西苑宾馆,怂逼抽签抽中外交大使特殊职位,然后就一边看<死神>一边等石门两位室友啦.必须吐槽宾馆 ...

  3. 【XSY1515】【GDKOI2016】小学生数学题 组合数学

    题目描述 给你\(n,k,p\)(\(p\)为质数),求 \[ \sum_{i=1}^n\frac{1}{i}\mod p^k \] 保证有解. \(p\leq {10}^5,np^k\leq {10 ...

  4. 【GDKOI2016】 魔卡少女 线段树

    题目大意:给你一个长度为n的序列${a_1....a_n}$,有$m$次操作 每次操作有两种情况:修改$a_i$的值,询问$[l,r]$中所有子区间的异或和. 数据范围:$n,m≤10^5$,$a_i ...

  5. GDKOI2016 爆零记

    滚粗了非常伤心>_< day 0 老师通知能够去试机,于是非常愉快地将近三点半左右的时间到了二中.然后发现老师已经准备关机房了,说我怎么才来.. .喂喂喂不是说三点半到五点的么 晚上本来想 ...

  6. [GDKOI2016]染色大战

    Description

  7. GDKOI2016总结——被虐之旅

    前言 一个被虐的旅程... 这次GDKOI的比赛虽然基本全上暴力,但是居然只有两道题得了分:30+30=60!我感觉整个人都不好了... day0 在去广州的路上,本来心情很好,但是坐在我斜后面的那位 ...

  8. 【JZOJ4359】【GDKOI2016】魔卡少女

    题目描述 君君是中山大学的四年级学生.有一天在家不小心开启了放置在爸爸书房中的一本古书.于是,君君把放在书中最上面的一张牌拿出来观摩了一下,突然掀起一阵大风把书中的其她所有牌吹散到各地.这时一只看上去 ...

随机推荐

  1. 一个关于Integer的秘密

    先让大家看一段简单的代码: public static voidmain(String[] args) { Integera = 1; Integerb = 1; Integerc = 222; In ...

  2. Android二维码开源项目zxing用例简化和生成二维码、条形码

    上一篇讲到:Android二维码开源项目zxing编译,编译出来后有一个自带的測试程序:CaptureActivity比較复杂,我仅仅要是把一些不用的东西去掉,用看起来更方便,二维码和条形码的流行性自 ...

  3. c语言中-----分配内存函数

    原型: void * realloc(void *p, size_t  size); realloc 可以对给定的指针所指的空间进行扩大 或者 缩小, 原有内存的数据保持不变.当然,对于缩小,则缩小部 ...

  4. UVa 12299 RMQ with Shifts(线段树)

    线段树,没了.. ----------------------------------------------------------------------------------------- # ...

  5. bzoj 1295: [SCOI2009]最长距离

    题目链接 1295: [SCOI2009]最长距离 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1165  Solved: 619[Submit][ ...

  6. JavaWEB开发中的/到底代表什么

  7. web api 开发之 filter

     1.使用filter之前应该知道的(不知道也无所谓,哈哈!) 谈到filter 不得不先了解下aop(Aspect Oriented Programming)面向切面的编程.(度娘上关于aop一大堆 ...

  8. 一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。

    一个int数组, 比如 array[],里面数据无任何限制,要求求出 所有这样的数array[i],其左边的数都小于等于它,右边的数都大于等于它.能否只用一个额外数组和少量其它空间实现. 分析:这题很 ...

  9. perl5 第十二章 Perl5中的引用/指针

    第十二章 Perl5中的引用/指针 by flamephoenix 一.引用简介二.使用引用三.使用反斜线(\)操作符四.引用和数组五.多维数组六.子程序的引用  子程序模板七.数组与子程序八.文件句 ...

  10. python的Error集,17个新手常见Python运行时错误

    python及相关工具安装Error集 . 如果升级python版本中出现error .so.1.0: cannot open shared object file: No such file or ...