随笔分类 - 随笔
摘要:问题:输入$m$个$n$位$p$进制数,定义加法和乘法都是模$p$意义下不进位加法乘法运算,求这些数线性组合能得到的最大$p$进制数(一般意义上) 代码: #include <iostream> const int N=110; int n,p; struct num{ int bits[N]; n
阅读全文
摘要:迪利克雷卷积的k次方可以直接快速幂,怎么求k次方根呢?(模意义下) 裸题https://codeforces.com/gym/102471/problem/C 听到了两种做法,一种是一位一位爆推,dp[i][j]记为有顺序的乘积为j,i个不为1的方案数。 代码 #include <bits/stdc
阅读全文
摘要:#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include <ext/pb_ds/detail/branch_policy/branch
阅读全文
摘要:T1 求给你一个数组不带修改,一个定长为L的区间的乘积模任意数。 考虑前后缀积,本质就是给定一个切割方法,使得每一个区间都包含至少一个切割。 一种方法是每隔L分段。 T3 可能只是一个没有验证过的想法,来自pks 考虑一道题给你若干个%p意义下的n维向量,运算定义为不进位加法,求运算可得的最大数(一
阅读全文
摘要:#include <bits/stdc++.h> #include <bits/extc++.h> using namespace std; using namespace __gnu_pbds; typedef pair<int,int> pii; tree<pii,null_type,less<
阅读全文
摘要:#一 计伟课上偶然知道了两个对换相乘后得到置换$P$ 对换应该是指分解后环大小都是2的置换吧?(姑且这么定义) 则$P$必为分解后环的大小成对出现的置换 证明: 不失一般性 设对换 \[ \left[ \begin{matrix} 0 & 0 & 0 & \cdots & 1 \\ 0 & 0 &
阅读全文
摘要:广为人知的范德蒙特卷积 \(\sum_{i=0}^k \tbinom{n}{i} \tbinom{m}{k-i}=\tbinom{n+m}{k}\) 如果要求 \(\forall d \sum_{i=0}^j \tbinom{d}{i} \tbinom{n+m-d}{k-i}=\tbinom{n+m
阅读全文
摘要:高三退役了一年。 大学又在搞ACM了,博客终于又可以更新了。 Aerials Up加油!队友带我飞!
阅读全文
摘要:jhd牛逼 考虑最小一乘法,那么就是要求出最优直线的$k,b$值。 结论,存在最优拟合直线经过至少两个输入点,不过对这个算法没啥用就对了。 如果$k$固定,那么$b$是相对纵坐标的中位数。 如果$b$固定,那么$k$是相对斜率的中位数。 考虑三分$k$, 在一个固定的$k$下 $nth \_ ele
阅读全文
摘要:其实$min max$容斥并不难 $kth max(S)$指集合S的第$k$大 考虑设系数为$f(|T|)$ $$kth max(S)=\sum_{T \subset S,T \neq \emptyset} f(|T|)min(T)$$ 从小到大排第$x$个的贡献 $$[n k+1=x]=\sum_
阅读全文
摘要:放板子好啊。 c++ include using namespace std; typedef long long i64; typedef vector vi; const int M=998244353; namespace { int add(int x,int y){ return (x+=
阅读全文
摘要:mavx mavx2 mavx512f mavx512 按tab mpopcnt等等 march=??? https://software.intel.com/sites/landingpage/IntrinsicsGuide/ 一道题,掉进兔子洞
阅读全文
摘要:设$K$为进制,$d$为位数。 设$n=K^d$ 这里认为$K include include include include typedef std::vector vi; std::ostream& operator struct solver{ static const int D=18; i
阅读全文
摘要:一道清真好题,只是之前没有接触过,才感觉非常困难。 感谢yn大佬。 我的做法是dp套dp的做法。 首先如果你有一个麻将自动机, 这个自动机有若干节点,以及节点之间的转移边,以及一个起始状态节点,和一个终止状态集合。 终止状态集合中的节点代表胡了。 你可以给这个自动机新添加一种花色,麻将的数量在0~4
阅读全文
摘要:zrO xtx Orz 感觉就是抄了一遍https://zybuluo.com/AntiLeaf/note/804022 不得不说,这个做法非常强。 由于博主水平有限,有可能有一些纯感性理解的东西. 首先,最长反链这个说法似乎有一些问题,这里的反链是指互不包含的点集。 最小可重路径覆盖指边和点都可以
阅读全文
摘要:```c++ include using namespace std; string Get(){ return string(200000000,'a'); } int main(){ int t=clock(); const string &s0=Get(); cerr
阅读全文
摘要:别的也不想多说,就讲考试吧。 进场前状态应该还是比较好的,人也没有昏昏欲睡。 进考场之后先打了数据生成器。 又打了配置文件。(顺序好像反了) 然后终于公布了解压密码。 看题,麻将, 果然有麻将。 九条可怜, 又是九条可怜。 T1看完没有什么思路。 看T2,一脸不可做的样子。 看T3,哇,这个50分好
阅读全文
摘要:手写了一个动态申请内存的数组,更准确的说是一个本来应该是块链,最后由于太耗时间了变成数组的东西。 由于太懒了,编译需要用c++11或以上。 两个参数分别是元素类型和块大小S。申请内存以块为单位,很明显如果块大小是$O(n)$那么就是数组,如果块大小是$O(1)$那么就是链表。 各种操作的复杂度跟数组
阅读全文
摘要:这题并不难想,但是很难写。 首先先转化为开区间,然后一个就是挂左链,一个是挂右链。 然后变成了一个点与左链上挂的点的距离的问题。 然后就分讨吧! 此处省略一万字。 写完之后,编译了一下程序,电脑死机了。 然后发现自己CMLE了。(CMLE,即编译器内存超限) 原因是在c++11标准下struct内二
阅读全文