2019/4/8 TGDay1模拟赛 这次是和高一的学长学姐们一起参加的\(TG\)模拟考,虽然说是\(Day1\),但是难度还是很大的,感觉比\(18\)年的\(Day1\)难多了. 还是看一下试题安排: 题号 试题分组 考察算法 思维难度 代码难度 1 \(T1\) 数学推导 ★★ ★ 2 \(T2\) 分块+推导 ★★★ ★★★ 3 \(T3\) ST表+分治 ★★★ ★★ 这次题目真的很难啊,\(T1\)是没有想到好好去推的,\(T2\),\(T3\)基本全挂了. 时间安排感觉又不行了,…
2019/4/9 TGDay2模拟赛 今天是\(TG\)模拟赛的第二天了,试题难度也是相应地增加了一些,老师也说过,这就是提高组的难度了.刚开始学难的内容,一道正解也没想出来,不过基本的思路也都是对了,暴力分也都拿到了. 还是看一下试题安排: 题号 试题分组 考察算法 思维难度 代码难度 1 \(T1\) 数学推导+性质分析+枚举优化 ★★★ ★★ 2 \(T2\) 最短路+搜索 ★★ ★★★ 3 \(T3\) 三分法求函数极值+树状数组 ★★★ ★★★ 感觉难度还是大的,但是在考试的时候竟然\…
这次模拟赛真的,,卡常赛. The solution of T1: std是打表,,考场上sb想自己改进匈牙利然后wei了(好像匈牙利是错的. 大力剪枝搜索.代码不放了. 这是什么神仙D1T1,爆蛋T1,好像A了它或拿分的就几个人,, The solution of T2: 题解是这么写的:和八皇后很像,八皇后是x+y和x-y来判重,这里就k1x+k2y来判重. 从各个点引出直线,带入原点检验方程即可. 注: x/y = Δx/Δy x*Δy = Δx*y 下面代码用了这个原理,省去了gcd(或…
二分 首先,可以发现,最后的答案显然满足可二分性,因此我们可以二分答案. 然后,我们只要贪心,就可以验证了. 贪心 不难发现,肯定会优先选择能提供更多插座的排插,且在确定充电器个数的情况下,肯定选择能经过排插数量最大的那些充电器. 所以,我们只要模拟插排插的过程,记录当前深度\(d\).插座数\(t\)即可. 设选择的能经过排插数量恰好为\(d\)的充电器有\(x\)个,则若\(t<x\),显然不合法. 否则,我们将\(x\)个位置插上充电器,其余位置尽可能地插排插,就可以了. 代码 #incl…
90,rk42 T1 考试的时候觉得可以贪心,就每次找到最大的,然后以它为根去遍历每个子树,求出其最大值,然后删去这个点.一直持续直到边删完,时间复杂度\(O(n^2)\),然后想了想链的情况,没有打 得分:\(TLE40\) 正解是结论题,答案是\(\sum t_i-max\{t_i\}+\sum max(t_{x_i},t_{y_i})\),证明仍在思考 T2 比赛时想着先固定一条边,然后\(dfs\)这条边的两个端点,求出\(size\),然后在\(size\)大的那边去找最接近平均的\(…
得分: \(100+10+45=155\)(\(T1\)又是水题,\(T2\)写暴力,\(T3\)大力\(STL\)乱搞) \(T1\):哈夫曼树 首先,根据题目中给出的式子,可以发现,我们要求的其实就是每种方案下的总代价和. 显然,每个数被选择的总次数应该是相同的. 因此,我们可以设\(f_i\)为在还剩下\(i\)个数时进行操作后,每个数被选择的次数. 则易推得转移方程: \[f_i=\frac{i(i-1)}2*f_{i+1}+(i-1)\prod_{j=i+1}^n\frac{j(j-1…
得分: \(10+0+40=50\)(\(T1\),\(T3\)只能写大暴力,\(T2\)压根不会) \(T1\):道路建造 应该是一道比较经典的容斥题,可惜比赛时没有看出来. 由于要求最后删一条边或加一条边后得到一个欧拉回路.而反过来说,对于一个欧拉回路,我们有\(C_n^2\)种方式加边或删边使其变成一个题目中所求的合法图. 因此,我们只需求出欧拉回路图的个数,然后乘上\(C_n^2\)即为答案. 但还有一个比较麻烦的问题是,这张图必须联通. 那我们就可以先计算出所有情况数,再减去不连通的情…
得分: \(20+0+40=60\)(\(T1\)大暴力,\(T2\)分类讨论写挂,\(T3\)分类讨论\(40\)分) \(T1\):天空碎片 一道神仙数学题,貌似需要两次使用中国剩余定理. 反正不会做. \(T2\):未来拼图 通过题目描述,我们可以发现,这道题就是让你求出一个多项式,使其与自己循环卷积能够得到给定的式子.(类似于多项式开方) 则我们可以先考虑将这个式子\(DFT\)成点值表示法,然后将每个数开方. 由于每个数的平方根有两个,因此我们需要逐一枚举其正负性. 又考虑到其第\(1…
得分: \(55+12+10=77\)(\(T1\)误认为有可二分性,\(T2\)不小心把\(n\)开了\(char\),\(T3\)直接\(puts("0")\)水\(10\)分) \(T1\):Bug 级的存在 感觉只有我这种智障才会觉得这题有可二分性. 显然,若要一段区间能够成为公差为\(d\)的等差序列,则一个基本要求就是这段区间要模\(d\)同余. 因此,我们首先自然就是把每段同余的区间单独抠出来处理. 然后我们把这段区间内的数同整除\(d\). 但要注意,正数和负数同整除\…
得分: \(100+100+0=200\)(\(T1\)在最后\(2\)分钟写了出来,\(T2\)在最后\(10\)分钟写了出来,反而\(T3\)写了\(4\)个小时爆\(0\)) \(T1\):风王结界 一道数学题,看完题解是无比的简单. 比赛时最后两分钟把式子凑出来了(\(RP\)爆表)... 题解详见这篇博客:[CF660E]Different Subsets For All Tuples(组合数学),即这题模数为\(10^9+7\)的版本. 下面直接给出代码: #include<bits…