• 2024-07-23AtCoder Beginner Contest 363
    AtCoderBeginnerContest363前言只出了三题,被d卡住了,事实上e题应该对我而言更简单,没及时换题。A-PilingUp(atcoder.jp)思路代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;intmain(){ios::sync_with_stdio(false);cin.
  • 2024-02-08筛法思想的题目
    这道题目比较经典,或者说这种思想比较经典。这种筛法的思想。我们正着想对于每一个\(n、n-1、n-2、...、2、1\)都分解一遍质因数显然是来不及的时间复杂度达到\(O(n\sqrt{n})\)我们考虑对于每一个1e6以内的质因数的个数跑了一下程序是\(78498\)个素数定理告诉我们不超过x
  • 2023-08-24CF1837E
    原题翻译我们先想一下若干全是\(-1\)怎么做我们可以一层一层的考虑。对于最后一层,我们可以发现\((\frac{n}{2},n]\)这些数每对位置应该恰好有一个,因此我们可以计算出方案数为\((\frac{n}{2})!\times2^{\frac{n}{2}}\),其中前面指\((\frac{n}{2},n]\)的全排列方案数,
  • 2023-07-24康托展开及康托逆展开运算总结
    前文:这个东西是我准备进攻一道Astar算法的八数码题目时,遇到的。决定先搞懂这个,再进攻八数码(传说中那道不做人生不完整的题目)。 康托展开:百度百科给出的定义是:康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。康托展开的实质是计算当前排列在所有由小到大全
  • 2023-07-15容斥原理
    容斥原理内容用于解决多个有相交情况的集合的并集,例如三个集合的情形:对于n个集合的交集有公式:\(|S_1\cupS_2\cupS_3\cup\dotsS_n|=(|S_1|+|S_2|+|S_3|+\dots+|S_n|)-(|S_1\capS_2|+|S_1\capS_3|+\dots+|S_{n-1}\capS_{n}|+(|S_1\capS_2\capS_3|+|S_1\capS_2\cap