上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 26 下一页
摘要: 题面 Min-Max容斥:对于集合S $min(S)=\sum_{s∈S}(-1)^{|s|+1}max(s)$ $max(S)=\sum_{s∈S}(-1)^{|s|+1}min(s)$ 那么这个题就比较板子了,$min(s)$就是$s$任意一位有值的期望,也就是某个数字和$s$有交 不太好求?再 阅读全文
posted @ 2019-01-23 11:13 Speranza_Leaf 阅读(121) 评论(0) 推荐(0)
摘要: 题面 本质上是在对边求置换,然后每个循环里涂一样的颜色,但是还是要点上入手,考虑每条边的两个端点是否在一个循环里 如果在一个循环里,那么当循环长度$len$为奇数时只有转一整圈才行,而边的总数是$\frac{len(len-1)}{2}$,所以有$\frac{\frac{len(len-1)}{2} 阅读全文
posted @ 2019-01-23 10:34 Speranza_Leaf 阅读(183) 评论(0) 推荐(0)
摘要: 题面 我居然不会写多项式卷积了,把$a[i]=a[i]*b[i]$写成了$a[i].x=a[i].x*b[i].x$还调了好长时间,有毒 把式子写成$C^2(x)-A^2(x)-B^2(x)=0$的形式,然后牛顿迭代即可 1 #include<cmath> 2 #include<cstdio> 3 阅读全文
posted @ 2019-01-23 08:57 Speranza_Leaf 阅读(115) 评论(0) 推荐(0)
摘要: 题面 除了不洗牌以外,每种洗牌方式的每个循环里的颜色必须一样,然后大力背包一下就好了。最后记得把不洗牌的方案也算进去 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const 阅读全文
posted @ 2019-01-23 08:56 Speranza_Leaf 阅读(126) 评论(0) 推荐(0)
摘要: 题面 这题虽然很老了但是挺好的 仍然套Burnside引理(因为有限制你并不能套Polya定理),思路和这个题一样,问题主要是如何求方案。 思路是把放珠子的方案看成一张图,然后就巧妙的变成了一个经典的路径计数问题,这里可以多矩乘一次然后统计对角线,即强行让它走回一开始的珠子,比较方便 注:这代码T了 阅读全文
posted @ 2019-01-23 08:23 Speranza_Leaf 阅读(130) 评论(0) 推荐(0)
摘要: 题面 先往上套Burnside引理 既然要求没有$\frac{2*π}{n}$的角,也就是说两个人不能挨着,那么相当于给一个环黑白染色,两个相邻的点不能染白色,同时求方案数。考虑$n$个置换子群,即向一边旋转i(1<=i<=n)个单位,那么每个置换子群下循环节的长度是$lcm(i,n)/i$,那循环 阅读全文
posted @ 2019-01-22 22:01 Speranza_Leaf 阅读(143) 评论(0) 推荐(0)
摘要: 题面 _“数字和数学规律主宰着这个世界。”_ 在 @i207M 帮助下折腾了半天终于搞懂了导数和泰勒展开,引用某学长在考场上的感受:感觉整个人都泰勒展开了 显然是个奇奇怪怪的东西套上LCT,发现直接维护的话并不能快速链上求和。所以用友好的提示里的泰勒展开,对每个点的函数进行泰勒展开后就变成了维护多项 阅读全文
posted @ 2019-01-19 16:35 Speranza_Leaf 阅读(164) 评论(0) 推荐(0)
摘要: 题面 入手点是每段路程中能量$e$与时间$t$的关系,$t-e$这个函数的导数对于各个路段一样,否则我们可以从导数大的一段路抽出一部分能量分给导数小的,这样会更优 毕姥爷在考场上的做法:猜一猜,然后拿python打打表,发现确实是这样的 那么可以把$e/t$化成关于每段速度$v$的一个式子 $e/t 阅读全文
posted @ 2019-01-19 15:23 Speranza_Leaf 阅读(157) 评论(0) 推荐(0)
摘要: 题面 拆点跑最大流 所有能跑出去的点连向汇点,容量为inf 原点连向所有初始有蜥蜴的点,容量为1 每根柱子拆成两个点“入口”和“出口”,入口向出口连容量为高度的边,出口向别的有高度的柱子的入口连容量为高度的边 1 #include<cmath> 2 #include<cstdio> 3 #inclu 阅读全文
posted @ 2019-01-19 15:07 Speranza_Leaf 阅读(111) 评论(0) 推荐(0)
摘要: 题面 洛谷要求输出方案,懒得写了,但是还是放一下链接看看吧 (虽然现在二分图已经过气了=。=) 要求最长反链,最长反链=最小链覆盖,先Floyd传递闭包之后链覆盖就变成了边覆盖,然后最小边覆盖=总点数-最大匹配 1 #include<cstdio> 2 #include<cstring> 3 #in 阅读全文
posted @ 2019-01-17 19:29 Speranza_Leaf 阅读(134) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 26 下一页