B.Marbles (nim博弈)
题意
一个棋盘n个点,每次可以把一个棋子移动到(x-d,y) or (x,y-d) or (x-d,y-d) 把其中一个棋子移动到(0,0)的人就胜利
问先手能否必胜
思路
我非常喜欢的一题,一开始看到题面第一反应我操nim博弈煞笔题,然后傻逼一样得写了 判断到全部到(0,0)就赢的博弈,后面发现我想错了,我写的是相当于把全部石子取完的博弈,而这题只要把其中一堆石子取完就赢了,所以不正确,还是许老师厉害,把题意转换一下,题目开始是到(0,0)就赢,那什么情况下肯定输呢,那就是到(1,2) (2,1)这种死局的情况,每个人肯定都不想发生这种情况,于是我们就把题目转化成 把石子取到(1,2) (2,1)这种奇异态,而如果一个人面临这种局面那就是稳输的,于是我们把(1,2)这种状态构造成取完,而后面一个人面临一个取完(只有必败态的)时候那他就必输,所以这题就变成把N堆石子取成必输态的NIM博弈了,注意要特判先手直接赢的情况
1 |
|
D.Unraveling Monty Hall(水题)
判断不是1的个数就行,大早上读题读得我怀疑人生
1 | int n; |
E.Enigma (模拟)
题意
给你两个字符串s,t让判断前strlen(t)中的s有多少个是T中没有的
1 |
|
F.Music Festival (线段树/线段数组) (待补)
题意
有N个舞台(N<10),第i个舞台有Mi首歌(M总和<1000),给出每首歌的起始时间s,和终止时间t,以及价值val; 我们听完一首歌可以任意瞬移到另外的舞台,即不考虑时间边界。现在让你选择一种方案,使得每个舞台都至少听了一首歌,求最大价值。
题解
G.Gasoline (二分网络流)
题意
有p个加油站,r个油田,给出每个加油站需要的油以及每个油田库存的油,有C条加油站到油田的带权路,求每个加油站都能加满油时的最长的运输时间的最小值。
题解
二分最小值,建图,套网络流模板完事
1 |
|
I.Switches (模拟)
题意
给定N个灯,以及开始状态。M个开关集合,每次使用一个开关,这个集合的状态会改变。 现在一次按1到M个开关,即1,2,3,…M ,1, 2,… 问第几次会全部关掉。
思路
直接模拟咯,用bitset表示灯的状态
1 |
|
L.Subway Lines (树剖) (待补)
题意
给一棵树,询问两条路径上公共点的个数。