07 2019 档案
摘要:一开始想了一个很沙雕思路,是dp嵌套,先线性dp处理出每个人的必须入队的捆绑人之和(战斗力和代价),然后接着线性dp处理出最优的解,但发现算法假的,因为这个东西没有无后效果性。因为可能一个分子分母都很大的情况下比值很大,而另外一种情况是分子分母很小比值一样很大但是比前面那个小,这样小的被舍掉了。可是
阅读全文
摘要:先定义阶的概念:如果$gcd(a,p)==1$,那么对于方程$a^r \equiv 1 (mod\ p)$来说,首先根据欧拉定理$ a^{\phi(p)}\equiv 1 (mod\ p) $,解一定存在所以$ r\leq \phi(p) $,最小的$r$称为$a$关于$p$的阶,记作$ ord_p
阅读全文
摘要:分治,大多复杂度在$ O(log_2n) $ 级别,因为每次递归把大小减半,所以最多$ log_2n $层,今天做的点分和$CDQ$都是这样的。 先总结一下$CDQ$,很强的数据结构,不知道陈丹琦怎么做到$ noi $现场$yy$这么一个数据结构出来实在是$TQL$,昨天学过了之后今天上午11点左右
阅读全文
摘要:今天不知道怎么回事突然考得高了一点。 总的来说还是败在T3上了,前两题都挺水的,T3剩下俩小时。 结果还是啥也没高出来,写了个假贪心拿到了5分的好成绩,和别人差就差在了T3,果然还是最难的一道题来决定胜败。 题解: T1:暴力$ hash $ , $ kmp O(n) hash $ 也$ O(n)
阅读全文
摘要:又是一道假期望,我们发现一共有$ C_{2n}^m $种情况。 而$ \frac{(2n)!}{m!(2n-m)!}=C_{2n}^m $ 其实结果就是各个情况总伤害。 1.10分算法,爆搜10分。 2.30分算法,发现20%的攻击牌数值相同,这样先强化后攻击(至少留一张攻击牌)是最优策略。计算拿到
阅读全文
摘要:我很久以前就做过这道题,但是当时没有想出来于是扔掉了(在状压dp那块),今天被学长重新拿出来再讲一次,终于有了点思路。 先讲一下暴力思路,说是暴力也很难想了。设dp[i][j][s]为以树上编号为i的点为子树,i对应原图的j的,s是i的子树中包含对应原图中的点状态为s的方案数。 那么写一下式子。 $
阅读全文
摘要:考虑大力容斥。 全集是: $ C_{nm}^3 $ 需要减去三点共线的情况。 那么以原点为一个端点,$ n^2 $ 枚举另外一个端点(x,y),得到一条线段,每条线段上有gcd(x,y)个点,那么这条的贡献就是gcd(x,y)-1(去除(x,y))可以平移得到另外(n-x)*(m-y)条线段。 容斥
阅读全文
摘要:今天学长说了个结论是 $ num=gcd(x_1-x_2,y_1-y_2) $ 现在我试着证明一下。 证明: 令 $ x=x_1-x_2 , y=y_1-y_2 $ 令 $ d=gcd(x,y) $ $ x=pd , y=qd $ 令直线上某一点为$ (a,h) $ 由相似三角形可得: $ \fra
阅读全文
摘要:这道题乍一看挺水的,直接$ Ploya $就可以了,可是再看看数据范围:n<=1e9 那就是有1e9种置换,这不歇比了。 于是考虑式子的优化。 首先证明,转i次的置换的每个循环结大小是 $ gcd(i,n) $ 证明: 首先设第x个元素的位置是p,置换种类是i,循环k次后回到原点,k也就是循环结个数
阅读全文
摘要:这卷子还是答的挺惨的。 第一题5min写完了,自认为AC(其实WA了80),第二题推了半天CRT的公式老出错结果发现是程序打错了。第三题打模拟150行结果数组没开够,开大就是0->60的转变。状态很差,坏肚子了,一直在去厕所,看来下次早起要吃点素的了。 题解: T1方程的解。 发现就是个exgcd,
阅读全文
摘要:正解线性基。 总的来说和lca一样,预处理出f[x][i]为x一直到x向根走 $ 2^i $ 步的合并线性基, 那么可以和lca一样进行处理和合并,从而得到路径的线性基。 再进行操作即可。 不过我没有控memset,卡常卡了半天都没过,最后改了下memset就A了。 卡常真的恶心。 #include
阅读全文
摘要:1.网格 转换模型,翻折容斥出解。 2.有趣的数列 抽象一下模型,把奇数项当作横坐标,偶数项当作纵坐标,就是从n*n矩阵左下角走到右上角并且每一步x<=y的方案数,发现是卡特兰数,关于gcd,可以线筛出质数,顺手处理每个数的最小质因子,从而快速得到每个数的唯一分解,从而约分。 3.树屋阶梯 把每放上
阅读全文
摘要:一个人的数论,这题也昨晚好久了,是另外一道神题。 #include<cstdio> #include<iostream> using namespace std; typedef long long ll; const ll mod=1e9+7,maxn=1005,maxd=105; ll d,w,
阅读全文
摘要:这题挺神的,刚刚在学BSGS,现在把这道题题解再转到blogs上来。 #include<iostream> #include<cstdio> #include<cmath> #include<map> using namespace std; int T,a,b,k,num,ans,d,dp[100
阅读全文
摘要:题面出的很悲伤很悲伤,他绝对是失恋了。 一下就看到了三道题小的要死的64M内存,每道题开完数组我就立马算一次内存。所以没有出意料之外的MLE。 第一题一开始花5min写了个30暴力,写的很顺。然后直接攻第二题,写了个Astar觉得AC稳了,可是有个地方没写下来(yet数组的问题),于是我爆了10分。
阅读全文
摘要:学长留了三道题。 才写完然后来写一下总结。 我在蓝皮书上学的树规全都是n3的dp,当时学的时候没什么感觉,但是后来做软件安装的时候就有一点感觉好像这个背包的很多转移都是浪费的,因为当前的物品远远不能达到整个子树的大小,而每次外层枚举的空间大小全部都是整个子树大小,而不是当前正在当作背包物品的大小和之
阅读全文
摘要:我死了我死了我死了 puts(“Lrefrain==T”)
阅读全文
摘要:早读早预备:改题。 上午10:20-12:10自测1。 下午2:00-4:00自测2。 4:05-6:00改题。 晚上刷题。 不行就要练。
阅读全文