12 2016 档案
摘要:枚举LCP,假设前i−1个都相同。那么后面n−i个数可以随意排列,第i个位置可以填的方案数为后面小于ai的数字个数,树状数组维护。 同时为了保证本质不同,方案数需要除以每个数字的个数的阶乘。 将m分解质因数,然后CRT合并即可。 可以先用树状数组处理出所有贡献。 同时在分开计算
阅读全文
摘要:因为问题的对称性,只需要考虑求出有多少点离A更近即可。 枚举4个绝对值的正负号,可以解出坐标范围。 若可以转化为二维数点,则可以统一扫描线+树状数组解决。 否则是三维数点,按一维排序,剩下两维维护KD-Tree即可。 时间复杂度O(n√n)。
阅读全文
摘要:A. Survival Route 留坑。 B. Dispersed parentheses f[i][j][k]表示长度为i,未匹配的左括号数为j,最多的未匹配左括号数为k的方案数。时间复杂度O(n3)。 C. Chocolate triangles 留坑。 D. LWDB
阅读全文
摘要:A. Colourful Graph 可以在2n步之内实现交换任意两个点的颜色,然后就可以构造出方案。 B. Doors 答案就是这些折线之间距离的最小值除以2。 C. Peak Tower 求出所有线段相交的时刻,在相邻时刻里三分答案即可。时间复杂度O(n4logn)。 D. Pea
阅读全文
摘要:A. Array Factory 将下标按前缀和排序,然后双指针,维护最大的右边界即可。 B. Purchases and Bonuses f[i][j]表示购买了前i个物品,目前有j积分时最多省多少钱,转移就是要么直接买,要么把积分全用完。 C. Number of Solutions
阅读全文
摘要:A. Boxes and Balls 二分找到最大的不超过n的x(x+1)2形式的数即可。 B. Business Cycle 二分答案,然后暴力模拟,如果没有爆负,则说明进入了循环节,后面直接算,注意最后要预留若干轮暴力模拟。 C. Suffixes and Palind
阅读全文
摘要:A. WSI Extreme 将人按洗澡时间从大到小排序,那么ans=∑ni=1ai×⌊i+W−1W⌋。 当W比较大时,暴力枚举每一段,然后求和即可,权值线段树维护。 当W比较小时,线段树上按排名模W的值维护$W
阅读全文
摘要:求出重心,然后把所有点关于重心极角排序,极角相同的按到重心距离从大到小排序。 按极角序依次扫描,得到相邻两个向量的夹角以及长度之比,看成字符串。 若两个字符串循环同构,则两个点集相似,KMP判断即可。 时间复杂度O(nlogn)。
阅读全文
摘要:A. Within Arm's Reach 留坑。 B. Bribing Eve 枚举经过1号点的所有直线,统计直线右侧的点数,旋转卡壳即可。 时间复杂度O(nlogn)。 C. Candle Box 模拟。 D. Dinner Bet f[i][j][k]表示有i个仅属于第一个
阅读全文
摘要:A. Arranging Hat f[i][j]表示保证前i个数字有序,修改了j次时第i个数字的最小值。 时间复杂度O(n3m)。 B. British Menu 首先求出SCC,缩点之后对于每个SCC枚举起点爆搜,当搜到其它SCC时换成DP即可。 时间复杂度$O(5!(n+m
阅读全文
摘要:A. Fancy Antiques 爆搜+剪枝。 B. Alternative Bracket Notation 模拟。 C. Greetings! f[i][S]表示i种信封覆盖S集合浪费的最少面积,枚举子集转移即可。 时间复杂度O(k3n)。 D. Programming Te
阅读全文