GDKOI 2016 酱油记

果然还是太弱了QwQ
由于本文想写成游记但写完后并不是游记所以众神将就着看

一开始把2016写成2015了我真是傻逼

Day 0

西苑宾馆的网线插口什么鬼。。插座还在,口不见了。。 预感Day1会跪。。
同学打手机版crossfire真的不累么。。

Day 1

早餐的粥真的好稀
平常没人的地铁站瞬间变大站。
学长竟然gdoi委员会的

T1:

给出一个数列,询问区间内各子串异或值的和,以及单点修改。
N106,ai1000

恩。。看到异或什么鬼的先按位考虑吧。。
然后对每位开线段树,应该是10棵。
因为异或的性质是,奇数个1结果才为1,因此考虑在线段树记录1出现的次数。

T2:

给出一个DAG,DAG每条边有可走的概率和费用,其中必存在一条路概率100%,求最优路径下的最小期望费用。其中如果一条路走失败了其费用仍要计入。

比如给出DAG{from, to, probability, cost}

1 2 1.0 30
2 3 1.0 30
3 4 1.0 30
1 4 0.5 30
2 3 0.9 10

期望易得: C30+0.5×(30+10+0.130+30)=66.5
发现,C的表达式形式为: w1+(1p1)×(w2+(1p2)×
问题是如何选择传送门使期望最小。
考虑交换了2个传送门的情况。
发现大抵的形式是

<script type="math/tex; mode=display" id="MathJax-Element-4"></script>
变形得
xi1yi<xj1yj

满足上式的新期望是可接受的。
于是按照上式对传送门排序,依次选择即可。

T3:

有些密室,其多把钥匙存放在其他密室中,还会有些密室没有要钥匙。每间密室有权值和花费。问如何选择密室时权值花费比最小?
考试时理解错了。。以为能去的密室就得选。。。于是只有impossible的分数233
按照依赖关系构图后删环删点,变成一个DAG以后变成如何选择一些DAG点使blablabla。
最大权闭合子图。。。。
恩分数规划?二分上最大流吧。

T4:

给出一个棋盘,有障碍,入口,出口,神器,和平地。棋盘有不确认的位置(全都有可能),问棋盘有多少种方案使存在一条路从入口经过神器到出口。
n7
这种棋盘题 n又小的肯定是插头dp
发现所谓入口出口神器之间其实并没有区别,不如一起考虑,然后似乎就是插头dp的经典题了。
然而实现很恶心只能交暴力了233。我选择go die。。

一看都是码农题233。
讲题前后评委团各种吹水装逼好欢乐233。

看题很重要。看题很重要。看题很重要。

好像day1的暴力分是70?

Day 2

T1

给出一个矩阵,每个交叉处被标记为白或黑。当标记了某个交叉处时格子的死四角都被标记为黑色时获得格子分数,两人轮流操作,问最优走法下先后手分数差。

一个博弈问题,好像是个dfs。。
alpha-beta剪枝
极大极小搜索的

记忆化搜索
f[0/1][borad_state]
状态数 2×2nm

不过暴力40分。。

T2:

问T~S间,有几个数满足:(S-i)是3的倍数,而且i各位不全为质数(2,3,5,7)。
T,S10100000
考虑从质数中选出和为3的倍数且在 [T,S] 内的数字。
恩,数位dp。

首先易知,满足3倍数的个数是 (st)/3

令f[i][j]表示前i位和模3为j的方案数。
于是一道数位大水题。。。外加一个高精度。

T3: necklace 2

给出一个项链(首尾相接的字符串),问删除最短的区间使剩下的项链对称。

循环的问题考虑接一个一样的串在后面,比如原串是

abcdabbaba

那么重复了一次是

abcdabbabaabcdabbaba

对称的项链有一个对称轴,直接这么处理好像并不会。。但是对称轴转了90度以后发现有可做点,新的轴将项链分成了2个回文串。
题解就写到这里,接下来大家都懂

那么找出其中两连的2个回文串即可。
看得出来样例的就是两个cd间的子串

考虑直接枚举某一个回文串,然后快速查询另一个回文串。。
找回文串随便一个算法都可以啦
然后快速查询另一个串的可以考虑使用扫描线,当我们枚举到某个位置的时候,不断维护之前枚举过的回文串,可以开树状数组。于是复杂度就是 O(nlogn)

T4:


k=1n1kmodpk

其中 pkn1018

只会 n<p 的30分暴力。。
以下是30分暴力做法?
原式可得

lcm1+lcm2++lcmnlcm

于是欧拉定理求逆元,n小于p的时候全部都有逆元。 O(n)

好像不写欧拉函数用费马小定理强行wa的话是20分。
要是早点研究黑科技就好了。。。

好像可以推导使得 pk pk1 于是最后的逆元可求。。

好像day2的暴力分有150。

今年餐票挺多的,就当是蹭了个饭?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值