摘要:
奇思妙想系列qwq 阅读全文
摘要:
Tasks Task Name Time Limit Memory Limit A Large Digits 2 sec 1024 MB Submit B Gentle Pairs 2 sec 1024 MB Submit C 1-SAT 2 sec 1024 MB Submit D Choose 阅读全文
摘要:
比赛链接:https://ac.nowcoder.com/acm/contest/9798#question 题号 标题 已通过代码 通过率 我的状态 A 序列问题 点击查看 34/406 通过 B 俄罗斯方块 点击查看 19/406 通过 C 旅行没有商问题 点击查看 20/96 未通过 A 推式 阅读全文
摘要:
AtCoder Beginner Contest 185. Task Name Time Limit Memory Limit A ABC Preparation 2 sec 1024 MB Submit B Smartphone Addiction 2 sec 1024 MB Submit C D 阅读全文
摘要:
侵删 2020.6.20 校测 2020.7.7 校测 2020.11.25 校测 2020.4.12 校测 2020.6.13 校测 2020.10.22 校测 泉州集训 Day1 泉州集训 Day2 阅读全文
摘要:
高精度加法 vector<int> add(vector<int> a,vector<int> b) { vector<int> c; if(a.size()<b.size()) swap(a,b); int t=0; for(int i=0;i<(int)a.size();i++) { t+=a[ 阅读全文
摘要:
例题:AcWing.1063 永无乡 \(n\) 为合并成的树的大小。 \(T(n)=\max_{0 \leq m \leq n/2} \{T(m)+T(n-m)+mlog(n-m)\}\) 发现这样不好证。 于是我们可以单独对每一个结点统计贡献。 刚开始有 \(n\) 个结点,每个结点自成一棵树( 阅读全文
摘要:
在 DevC++ -> 工具 -> 编译选项 -> 编译器 -> 编译时加入以下指令 中,加入一行 -Wl,--stack=123456789 并将 编译时加入以下指令 右侧 的 √ 打上即可。 注意不要多打一个空格。 开栈测试(检查是否开栈成功) void dfs(int x) { if(x==0 阅读全文
摘要:
AcWing 412. 排水沟 原题链接 上最大流模板即可。 AcWing 372. 棋盘覆盖 原题链接 把棋盘按照横纵坐标之和的奇偶性分为两类。 长度为2、宽度为1的骨牌一定一格是一类的,另一格是另一类的。$0$. 一个格子只能被最多一个骨牌覆盖。 $1.$ 二分图最大匹配即可。 AcWing 3 阅读全文
摘要:
整型变量 int [-2^31,2^31-1] unsigned [0,2^32-1] long long [-2^63,2^63-1] unsigned long long [0,2^64-1] char [-128,127] 浮点类型 double [-2^1024,2^1023] 即 [-1. 阅读全文
摘要:
编译命令优化 放在代码头部,比赛不可用。 手动O2优化 #pragma GCC optimize("O2") 手动O3优化 #pragma GCC optimize("O3") 三行 #pragma GCC optimize("O2") #pragma GCC optimize("Ofast") # 阅读全文
摘要:
分块做法 Solution 显然答案关于 X 是单调的,将所有询问按 X 排序。 那么每次操作需要找出一个分界点 bound , 把询问序列分为溢出和不溢出的两段。 对于不溢出的段,正常维护 tag : +-* 对于溢出的段,区间染色。 实现的具体 tag 是另 \(get(i)=b[x] \tim 阅读全文
摘要:
感觉有点标题党,不过我的代码确实过了qwq。 题目描述 可见: https://www.acwing.com/problem/content/155/ 样例 Input: 4 1 3 2 4 Output: a b a a b b a b 算法:暴力100pts 当然还是需要一点剪枝的呀,QAQ. 阅读全文
摘要:
新的思路: 前置题目 数星星 #144. DFS 序 1 时间复杂度 \(O(nlogn)\) C++ 代码 #include<set> #include<map> #include<queue> #include<stack> #include<ctime> #include<cmath> #in 阅读全文
摘要:
差分 \(\gcd\) 证明:\(\gcd(a_1,a_2,a_3,...,a_n)=\gcd(a_1,a_2-a_1,a_3-a_2,...,a_n-a_{n-1})\). 为方便描述 令 \(c_1=a_1,c_i=a_i-a_{i-1},i>1\). 设其最大公约数为 \(d\) , 则 \( 阅读全文
摘要:
题目直接不会做 》 推式子。 这类问题很通常的思路就是枚举约数或质因数。 \(\sum_{i=1}^{n} \gcd(i,n)\) \(=\sum_{d|n} d \times \sum_{d|i} [\gcd(i/d,n/d)=1]\) \(=\sum_{d|n} d \times \varphi 阅读全文
摘要:
有线电视网络 Solution 网络流建模 源点枚举的是点的出点,汇点枚举的是点的入点。 但如果仅仅这样的话,我们发现网络流中的最小割与原问题的解不是一一对应的。 这是因为最小割中一定不包括源点和汇点, 但是只要原问题的解最后余下两个点以上,这种方案已经包括在最小割中了。 所以我们分别考虑最后只余下 阅读全文
摘要:
1.BFS解法 抽象成DAG来做,不用考虑什么至少。 #include<set> #include<map> #include<queue> #include<stack> #include<ctime> #include<cmath> #include<bitset> #include<vecto 阅读全文
摘要:
用STL,vector,unique,sort,upper_bound也过了。 此题部分代码被卡的原因是 没有排序,导致两部分 sum>m 的剪枝效果不一,要是前半部分的重量较小,枚举 $2^{23}$ 自然就挂了。 处理方法有两种 random_shuffle() ,打乱顺序,使剪枝均匀分布。 s 阅读全文
摘要:
我用的是状压Dp。 先预处理出可以在一组的集合。 然后对每种状态枚举它的子集进行转移。 像这样子: for(i=1;i<(1<<n);i++) for(j=(i-1)&i;j;j=(j-1)&i) f[i]=min(f[i],f[j]+f[i-j]); \(f[i]\) 表示已经把 \(i\) 集合 阅读全文