17-11-01模拟赛
摘要:T1: 倍增处理x到y是否能通过2i的引导力到达。如果可以,则连由x向y的边。 而后对连边从s到做bfs即可。注意判断无解的情况。 Code: T2:考虑能使主对角线均为黑格时,可以从每行恰好取一个黑格,使得黑格遍历所有列。 考虑对行与列进行匹配,行向列连边,转化为二分图匹配问题。使用匈牙利算法或网
阅读全文
posted @
2017-11-02 17:19
whz2002
阅读(184)
推荐(0) 编辑
17-10-18模拟赛
摘要:T1: 固定一个方向的刀数的时候,平均切时答案最大。可以发现,如果能够只切一边,只切一边一定最优。当n<=m,k>=m时,考虑将一边全部切开,剩下的平均切到另一边。因为n/(k-(n-1))>=m/(k-(m-1)),所以长边切m-1刀,短边切k-(m-1)刀一定最优。 Code: T2:注意到ai
阅读全文
posted @
2017-10-19 17:17
whz2002
阅读(135)
推荐(0) 编辑
17-10-15模拟赛
摘要:T1: Code: T2: Code: T3: Code:
阅读全文
posted @
2017-10-17 17:22
whz2002
阅读(203)
推荐(0) 编辑
17-10-05模拟赛
摘要:T1:考虑数据合法性与美丽串的定义,可知其要求每个字符与其前两个字符不同。 考虑从后往前贪心,找该字母后第一个可以替换的字母,若未找到则向前查找,对于替换字母后的字母贪心构造。 Code:
阅读全文
posted @
2017-10-08 13:07
whz2002
阅读(115)
推荐(0) 编辑
17-09-29模拟赛
摘要:T1:排序后离散化。pos[i]记录第i块骨牌倒塌后会影响到的最远骨牌数,可以通过二分查找求得。 枚举放置骨牌能够使某一位置及其之后的骨牌全部倒塌时被毁坏的骨牌个数,对所有值取min即可。 Code: T2:可被看作为点与点的斜率的绝对值。 可以发现,当选取三个点A(x1,y1),B(x2,y2),
阅读全文
posted @
2017-09-30 17:42
whz2002
阅读(130)
推荐(0) 编辑
17-09-21模拟赛
摘要:T1:数论。 <not_complete> Code: T2:最大权闭合子图问题,转二分图匹配解决。 可以发现有冲突的格子(x,y)之间,(x+y)的奇偶性一定不同。 考虑将图黑白染色,每个黑色位置向该位置上的马能够控制的格子连边。 对于负权,可以发现不选一定更优,所以可以直接连权值为0的边,即对0
阅读全文
posted @
2017-09-26 17:47
whz2002
阅读(125)
推荐(0) 编辑
17-09-20模拟赛
摘要:T1:对于加法用前缀和sumi表示第i个数,对于修改,直接将sumi的值改为修改后的值。 如果查询的区间[l,r]内有修改操作,那么就输出sumr,否则输出sumr-suml-1. 注意需按题目要求解码,同时用long long存储部分数据。 Code: T2:可知若两个字符串的最小表示相同,那么它
阅读全文
posted @
2017-09-26 17:36
whz2002
阅读(124)
推荐(0) 编辑
17-09-15模拟赛
摘要:T1:可以发现a*b=k3,k表示所有不同轮的道具各取一个相乘后的值。 二分枚举3√(a*b),如能找到输出"YES",否则输出"NO".注意特判乘积为0的情况。 Code: T2:动态规划。令f[i][j]表示取i个数且这些数的乘积有j个因数5时乘积中因数2的个数。 则f[i][j]=max{f[
阅读全文
posted @
2017-09-19 13:48
whz2002
阅读(123)
推荐(0) 编辑
17-09-13模拟赛
摘要:T1:可以发现,满足题设条件的方案只有三个位置成一行或是三个位置成直角。 记录每一行与列白色方格的个数,由此求得红色方格的个数。 对于成行或成列的情况,分别求出中间是红色或白色的情况的方案个数。 对于成直角的情况,则枚举直角顶点,计算其对应行与对应列的方案个数。 注意答案可能会超过long long
阅读全文
posted @
2017-09-18 13:45
whz2002
阅读(160)
推荐(0) 编辑
17-09-10四校联考
摘要:T1:从高到低依次确定答案的每一位,如果每个区间的第i位都可以选1,那么全部选1,答案的这一位就是1。 如果该区间这一位能够选择0或1,那么将区间缩小为2i至ri。 如果不是所有区间都能选1,答案的这一位是0。 如果该区间这一位能够选择0或1,则该区间选0,并将所有比这一位低的位的值全部赋为1。时间
阅读全文
posted @
2017-09-12 13:13
whz2002
阅读(95)
推荐(0) 编辑
17-09-10模拟赛
摘要:T1:考虑对每一个数位做前缀和,将前缀和中最小的一位找出并将所有位减去该值,查询时每一位值相同时即为解。 用hash存储数据,注意第0个数的前缀和也应当加入hash中(使第一个数能被取到)。 Code: T2:二分答案。参考NOIP2015 取石子。 Code: T3:考虑将问题按时间从小到大排序。
阅读全文
posted @
2017-09-11 17:01
whz2002
阅读(109)
推荐(0) 编辑
17-09-06模拟赛
摘要:T1:当横的切时,第i刀可以用直线y=b-√(i/n)*b表示。 竖着切时,考虑前((n-1)/2)刀,第i刀可以用直线y=√(i/2*n)*a表示。 当n为偶数时,第(n-1)/2+1刀可以用直线y=a/2表示。 后((n-1)/2)刀与前((n-1)/2)刀关于y=a/2对称。 Code: T2
阅读全文
posted @
2017-09-07 12:58
whz2002
阅读(115)
推荐(0) 编辑
17-09-03模拟赛
摘要:T1:考虑根据各颜色卡牌的数量进行分类讨论。 Code: T2:可以证明,对于一个递增数列a,如果 aw是平均数减中位最大时的中位数,l表示在w两边分别取相邻数字的数量,f(w,l)表示以aw为中位数,在w两侧各取相邻l个数时平均数减中位数的值,那么f(w,l)为关于l的单峰函数。同时可以证明取奇数
阅读全文
posted @
2017-09-04 13:00
whz2002
阅读(158)
推荐(0) 编辑
17-09-01模拟赛
摘要:T1:模拟加+进位操作时间复杂度为O(n log n),但对于109的数据,正常开数组会MLE. 考虑用(unsigned) int 压位。将32位压至一个数中,只要开约3.2*107的数组即可,空间复杂度小于128MB. Code: T2:通过题意容易想到用树链剖分+线段树操作解决。但最坏时间复杂
阅读全文
posted @
2017-09-02 10:42
whz2002
阅读(154)
推荐(0) 编辑