摘要: 我很久以前就做过这道题,但是当时没有想出来于是扔掉了(在状压dp那块),今天被学长重新拿出来再讲一次,终于有了点思路。 先讲一下暴力思路,说是暴力也很难想了。设dp[i][j][s]为以树上编号为i的点为子树,i对应原图的j的,s是i的子树中包含对应原图中的点状态为s的方案数。 那么写一下式子。 $ 阅读全文
posted @ 2019-07-23 20:48 Lrefrain 阅读(140) 评论(1) 推荐(1) 编辑
摘要: 考虑大力容斥。 全集是: $ C_{nm}^3 $ 需要减去三点共线的情况。 那么以原点为一个端点,$ n^2 $ 枚举另外一个端点(x,y),得到一条线段,每条线段上有gcd(x,y)个点,那么这条的贡献就是gcd(x,y)-1(去除(x,y))可以平移得到另外(n-x)*(m-y)条线段。 容斥 阅读全文
posted @ 2019-07-23 20:33 Lrefrain 阅读(123) 评论(1) 推荐(1) 编辑
摘要: 今天学长说了个结论是 $ 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 阅读全文
posted @ 2019-07-23 17:38 Lrefrain 阅读(411) 评论(5) 推荐(2) 编辑
摘要: 这道题乍一看挺水的,直接$ Ploya $就可以了,可是再看看数据范围:n<=1e9 那就是有1e9种置换,这不歇比了。 于是考虑式子的优化。 首先证明,转i次的置换的每个循环结大小是 $ gcd(i,n) $ 证明: 首先设第x个元素的位置是p,置换种类是i,循环k次后回到原点,k也就是循环结个数 阅读全文
posted @ 2019-07-23 12:11 Lrefrain 阅读(154) 评论(1) 推荐(2) 编辑
摘要: 这卷子还是答的挺惨的。 第一题5min写完了,自认为AC(其实WA了80),第二题推了半天CRT的公式老出错结果发现是程序打错了。第三题打模拟150行结果数组没开够,开大就是0->60的转变。状态很差,坏肚子了,一直在去厕所,看来下次早起要吃点素的了。 题解: T1方程的解。 发现就是个exgcd, 阅读全文
posted @ 2019-07-22 21:43 Lrefrain 阅读(378) 评论(0) 推荐(2) 编辑
摘要: 正解线性基。 总的来说和lca一样,预处理出f[x][i]为x一直到x向根走 $ 2^i $ 步的合并线性基, 那么可以和lca一样进行处理和合并,从而得到路径的线性基。 再进行操作即可。 不过我没有控memset,卡常卡了半天都没过,最后改了下memset就A了。 卡常真的恶心。 #include 阅读全文
posted @ 2019-07-21 21:42 Lrefrain 阅读(173) 评论(0) 推荐(2) 编辑
摘要: 1.网格 转换模型,翻折容斥出解。 2.有趣的数列 抽象一下模型,把奇数项当作横坐标,偶数项当作纵坐标,就是从n*n矩阵左下角走到右上角并且每一步x<=y的方案数,发现是卡特兰数,关于gcd,可以线筛出质数,顺手处理每个数的最小质因子,从而快速得到每个数的唯一分解,从而约分。 3.树屋阶梯 把每放上 阅读全文
posted @ 2019-07-21 21:28 Lrefrain 阅读(270) 评论(0) 推荐(3) 编辑
摘要: 一个人的数论,这题也昨晚好久了,是另外一道神题。 #include<cstdio> #include<iostream> using namespace std; typedef long long ll; const ll mod=1e9+7,maxn=1005,maxd=105; ll d,w, 阅读全文
posted @ 2019-07-21 21:18 Lrefrain 阅读(386) 评论(2) 推荐(3) 编辑
摘要: 这题挺神的,刚刚在学BSGS,现在把这道题题解再转到blogs上来。 #include<iostream> #include<cstdio> #include<cmath> #include<map> using namespace std; int T,a,b,k,num,ans,d,dp[100 阅读全文
posted @ 2019-07-21 21:14 Lrefrain 阅读(233) 评论(0) 推荐(2) 编辑
摘要: 题面出的很悲伤很悲伤,他绝对是失恋了。 一下就看到了三道题小的要死的64M内存,每道题开完数组我就立马算一次内存。所以没有出意料之外的MLE。 第一题一开始花5min写了个30暴力,写的很顺。然后直接攻第二题,写了个Astar觉得AC稳了,可是有个地方没写下来(yet数组的问题),于是我爆了10分。 阅读全文
posted @ 2019-07-21 11:58 Lrefrain 阅读(188) 评论(2) 推荐(3) 编辑
摘要: 学长留了三道题。 才写完然后来写一下总结。 我在蓝皮书上学的树规全都是n3的dp,当时学的时候没什么感觉,但是后来做软件安装的时候就有一点感觉好像这个背包的很多转移都是浪费的,因为当前的物品远远不能达到整个子树的大小,而每次外层枚举的空间大小全部都是整个子树大小,而不是当前正在当作背包物品的大小和之 阅读全文
posted @ 2019-07-17 09:47 Lrefrain 阅读(254) 评论(0) 推荐(3) 编辑
摘要: 我死了我死了我死了 puts(“Lrefrain==T”) 阅读全文
posted @ 2019-07-15 19:52 Lrefrain 阅读(176) 评论(4) 推荐(1) 编辑
摘要: 早读早预备:改题。 上午10:20-12:10自测1。 下午2:00-4:00自测2。 4:05-6:00改题。 晚上刷题。 不行就要练。 阅读全文
posted @ 2019-07-15 06:06 Lrefrain 阅读(175) 评论(5) 推荐(1) 编辑