GDKOI 2016
GDKOI 2016
day 1
第一题 魔卡少女
题目描述:维护一个序列,能进行以下两个操作:1、将某一个位置的值改变。2、求区间的连续子串的异或值的和。
solution
因为序列的数的值都小于\(2^{10}\), 所以维护二进制的每一位的\(1\)的个数就可以了。用线段树维护即可。
时间复杂度:\(O(20nlogn)\)
第二题 不稳定的传送门
题目描述:一个有\(n\)个点,\(m\)条有向边的图,每条边有一个概率(能通过这条边的概率)和一个费用,先从\(1\)号点走到\(n\)号点,若选择某一条边通过时,通过失败,则自动返回出发的城市,该边之后不能通过,但无论成功与否,该边的费用依然要花费,求期望花费的最小值。
solution
这题是dp+贪心,从后往前dp。从若现在在第\(i\)号点进行决策,则可以通过贪心决策边的先后通过顺序。具体贪心方法是如果先通过第\(j\)条边再通过第\(k\)条边比先通过第\(k\)条边再通过第\(j\)条边优,则先通过\(j\),再通过\(k\)。可证明有传递性,所以可以用快排处理。
时间复杂度:\(O(nlogn)\)
第三题 寻宝
题目描述:最大权闭合子图
solution
经典裸题
第四题 地图
题目描述:连通性dp
solution
经典裸题
day2
第一题 染色大战
题目描述:状压dp
solution
经典裸题
第二题 QT 与泰剧
题目描述:求在\((T, S]\)中与\(S\)模\(3\)同余的且该数的每一位至少有一个数不是质数的数的个数。
solution
按位dp,只要把前导零,模\(3\)的余数处理好就没什么问题了。
第三题 项链
题目描述:若一个环状字符串删掉连续的一段后,连起来后是对称的(对称轴可穿过字符),称为项链,求项链的最长长度。
solution
如果一个字符串是项链,则这个字符串由两个回文串组成。先把字符串复制一遍。用manacher算出以每个字符为中心的回文串长度。然后枚举第一个回文串的右端,然后求以这右端为左端的回文串的最大值(两个回文串的长度的和不能大于原串),这可以用线段树或树状数组维护。
时间复杂度:\(O(4nlogn)\)
第四题 小学生数学题
题目描述:给出\(p,k,n\),求\((\sum_{i=1}^n i^{-1})\) \(mod\) \(p^k\),保证有解。
solution
其实就是要求从\(1\)到\(n\)的逆元的和模\(p^k\)的值。由于\(p\)的倍数没有逆元,所以要分开算。设
\[H(n)=(\sum_{i=1}^n i^{-1}) mod (p^k)\]
\[H^*(n)=(\sum_{i=1, p \nmid i}^n i^{-1}) mod (p^k)\]
则
\[H(n)=H(n/p)/p + H^*(n)\]
\[\because [H(n/p)/p]mod(p^k)=[H(n/p)] mod (p^{k+1})/p\]
\[\therefore H(n)=[H(n/p) mod (p^{k+1})]/p+H^*(n)\]
等式右边的第一项可以递归计算。
问题在于如何求\(H^*(n)\)
设\(i=ap+b\),\(i^{-1}=xp+y( mod (p^k))\)
则
\[(ap+b)(xp+y)=1 mod (p^k)\]
\[(ax+bpx+ayp+byp^2)=1 mod (p^k)\]
若\(x=a^{-1} mod (p^k)\)
则
\[(bx+ay+byp)=0 mod (p^{k-1})\]
\[(a+bp)y =(-bx) mod (p^{k-1})\]
设\((a+bp)z=1 mod (p^{k-1})\)
则
\[y=(-bxz) mod (P^{k-1})\]
\(\because z 存在 \therefore x可取\)
则
\[(a+bp)^{-1}=x[1+(-bxp)+(-bxp)^2+……+(-bxp)^{k-1}]\]
枚举\(a\),问题转化为求右式和,可用矩阵乘法+二项式定理
时间复杂度:\(O(pk^3logn*log_pn)\)
GDKOI 2016的更多相关文章
- 【GDKOI 2016】地图 map 类插头DP
Description 对于一个n*m的地图,每个格子有五种可能:平地,障碍物,出口,入口和神器.一个有效的地图必须满足下列条件: 1.入口,出口和神器都有且仅出现一次,并且不在同一个格子内. 2.入 ...
- GDOI2017 再次酱油记
Day 0 13:00 pm 啊...今天中午一点钟从ez出发,感觉吼有趣啊.出发前先大喊一声****,在书包里放一本党史,感觉玄学可以救命[滑稽] 15:00 pm 到达东莞,坐标:石龙名冠金凯悦大 ...
- Be Better:遇见更好的自己-2016年记
其实并不能找到好的词语来形容过去的一年,感觉就如此平淡的过了!没有了毕业的稚气,看事情淡了,少了一丝浮躁,多了一分认真.2016也许就是那句话-多读书,多看报,少吃零食多睡觉,而我更愿意说--Be B ...
- Connect() 2016 大会的主题 ---微软大法好
文章首发于微信公众号"dotnet跨平台",欢迎关注,可以扫页面左面的二维码. 今年 Connect 大会的主题是 Big possibilities. Bold technolo ...
- “.Net 社区虚拟大会”(dotnetConf) 2016 Day 3 Keynote: Scott Hanselman
美国时间 6月7日--9日,为期三天的微软.NET社区虚拟大会正式在 Channel9 上召开,美国时间6.9 是第三天, Scott Hanselman 做Keynote.今天主题围绕的是.NET ...
- “.Net 社区虚拟大会”(dotnetConf) 2016 Day 2 Keynote: Miguel de Icaza
美国时间 6月7日--9日,为期三天的微软.NET社区虚拟大会正式在 Channel9 上召开,美国时间6.8 是第二天, Miguel de Icaza 做Keynote,Miguel 在波士顿Xa ...
- “.Net 社区虚拟大会”(dotnetConf) 2016 Day 1 Keynote: Scott Hunter
“.Net 社区虚拟大会”(dotnetConf) 2016 今天凌晨在Channel9 上召开,在Scott Hunter的30分钟的 Keynote上没有特别的亮点,所讲内容都是 微软“.Net社 ...
- 微软发布正式版SQL Server 2016
微软于今天在SQL 官方博客上宣布 SQL Server 数据库软件的正式发布版本(GA),历时一年多,微软为该软件发布了多个公共预览版和候选版本,而今天最终版本终于上线了.在博客中,微软数据集团的企 ...
- Summary of Critical and Exploitable iOS Vulnerabilities in 2016
Summary of Critical and Exploitable iOS Vulnerabilities in 2016 Author:Min (Spark) Zheng, Cererdlong ...
随机推荐
- Ubuntu14.04安装配置SVN及Trac
还是个实习生的时候,项目管理十分欠缺,会出现很多问题,痛定思痛,决定要改变现状,养成良好的项目管理习惯,看网上工具很多,在这里尝试使用SVN作代码版本控制,使用trac作为项目管理追踪.本文采用的操作 ...
- Python中yield深入理解
众所周知,python中的yield有这样的用法: def test(alist): for i in alist: yield i 这样,这个test函数就变成了一个生成器,当每次调用的时候,就会自 ...
- keepalived 安装和配置
第一步:安装 yum -y install keepalived 第二步:配置 /etc/keepalived/keepalived.conf ! Configuration File for kee ...
- 浅谈38K红外发射接受编码
之前做接触过一次红外遥控器,现在有空想用简单的话来聊一聊,下面有错误的地方欢迎改正指出:1:红外的概念不聊,那是一种物理存在.以下聊38K红外发射接收,主要讲可编程的红外编码.2:红外遥控 红外遥控首 ...
- JS:函数多个参数默认值指定
函数有一个参数时,以往这样定义(参数为p1): function mfun(p1){ … } 当需要为p1设定一个默认值时 function mfun(p1){ if(p1===undefined) ...
- VRay 2.0 SP1 2.10.01 for 3ds max 9/2008/2009/2010/2011/2012 32/64位 顶渲简体中文版+英文版[中国室内设计论坛-室内人]
VRay 2.0 SP1 2.10.01 for 3ds max 9/2008/2009/2010/2011/2012 32/64位 顶渲简体中文版+英文版[中国室内设计论坛-室内人] 对最新版本的V ...
- Kinect for windows 破解 一,简单的体感超级玛丽
背景知识 1. 游戏模拟器:现在有很多模拟器,让我们可以在PC上玩红白机,PS上的游戏.本破解用的FC 红白机模拟器.网上有很多地方可以下载.注意语言要和你的操作系统一致. 2. 按键模拟器:本破 ...
- C++匈牙利命名法
匈牙利命名法 匈牙利命名法是一种编程时的命名规范.基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分.命名要基于容易记忆容易理解的原则.保证 ...
- gcc选项-g与-rdynamic的异同
摘自http://www.tuicool.com/articles/EvIzUn gcc选项-g与-rdynamic的异同 gcc 的 -g ,应该没有人不知道它是一个调试选项,因此在一般需要进行程序 ...
- Linux下多核环境Erlang的SMP測试
目标 (1) 了解在多核cpu环境下,erlang并发进程调度对各个cpu核负载的影响: (2) Erlang虚拟机的内存添加机理: (3) Erlang进程的调度 ...