随笔分类 - ACM集训
摘要:B 完全背包 给你$N$个物品 恰好装下体积为$M$ 时的最小价值是多少 max → min 恰好 → 初始化为-inf 问题变成了最小,所以必须考虑dp数组的初始化 如果要求恰好$m$ 也必须考虑初始化 所以相比A,其实就是多了初始化,01背包变成了完全背包而已 E. $n$个数 凑出$m$的方案
        阅读全文
                
摘要:The 2021 Shanghai Collegiate Programming Contest 部分题解 这场比赛是我自己VP打的,题不难但是有很多不必要的WA,需要以此为戒 A. 题意 给定两个三维向量$(x_1,y_1,z_1)$ ,\((x_2,y_2,z_2)\) 求和这两个向量都垂直的一
        阅读全文
                
摘要:Educational Codeforces Round 111 (Rated for Div. 2) D.Excellent Arrays 对称 数形结合 题意 数组$a$为$good$ 当且仅当$a_i \neq i$ 令$F(a)\(表示数对\)(i,j)$满足$a_i+a_j = i + j
        阅读全文
                
摘要:GYM102155A A.Ability Draft 状压DP 博弈 题意 有两个阵营共$2 \times n$个英雄,每个英雄可以选择$s$个普通技能和$1$个终极技能。 两个阵容都希望自己的技能总和尽量大对方的尽量小,问最终的 阵容一 的和减去 阵容二的和 \[ 1 \leq n \leq 5,
        阅读全文
                
摘要:ARC120 题解A-E及总结 A.Max Add 题意 对于序列$(a_1,a_2...a_n)$ 操作1,2,3...k 将当前序列的最大值加入$a_i$,定义$f(i)$为第$i$次操作后的序列和 求每个$f(i)$ 分析 注意到每次加入一个数以后这个数就会成为最大值,于是每次更新即可 代码 
        阅读全文
                
摘要:NWERC 2020 部分题解 A. Atomic Energy 题意 完全背包,物品的体积是$1,2...n$ 价值是$a_1,a_2...a_n$ 给出$q$次询问,每次询问体积恰为$k$的背包的价值是多少 \[ 1 \leq n \leq 100,q \leq 10^5\\ 1 \leq a_
        阅读全文
                
摘要:2017-2018 Petrozavodsk Winter Training Camp, Saratov SU Contest 部分题解 A.Three Arrays 题意 给定三个长度分别为$n_a,n_b,n_c$的有序数组$a,b,c$ 计算三元组个数$(i,j,k)\(使得\)|a_i - 
        阅读全文
                
摘要:2020-2021 “Orz Panda” Cup Programming Contest A. Accordion Artist And Orz Pandas 题意 给定$n$个相邻的矩形,矩形的宽和高给定,问最大的子矩形面积 分析 单调栈板题,维护出每个矩形左边第一个比他低的点和右边第一个比它低
        阅读全文
                
摘要:HZNU-AlternatingCat 训练实录 现场赛记录:[名称:奖项/排名] 2021: The 2021 ICPC China Shaanxi National Invitational Programming Contest : Silver/83 To do list: 暑假每周坚持五训
        阅读全文
                
摘要:[模板] 后缀数组 int rak[maxn],height[maxn]; void cal_height(vector<int> p,string s){ int n = s.length(); int k = 0; for(int i = 0;i < n;i++) rak[p[i]] = i; 
        阅读全文
                
摘要:
        阅读全文
                
摘要:代码来自 《算法竞赛进阶指南》,品一品。 重点:试除法。 #pragma warning(disable:4996) #include<iostream> #include<algorithm> #include<bitset> #include<tuple> #include<unordered_
        阅读全文
                
摘要:区间DP是线性DP的一种,它以“区间长度”作为DP的“阶段”,使两个坐标(区间的左右端点)描述每个维度。 区间DP中,一个状态由若干个比它更小且包含于它的区间所代表的状态转移而来。区间DP的初态一般就由长度为1的“元区间”组成。这种向下划分,再向上递推的模式与某些树形结构如线段树有很大的相似之处。 
        阅读全文
                
摘要:混合背包是指很多种背包一起做。此题属于多重背包的模板题 思想是统统转化为01背包 题目中有01背包(p = 1),完全背包(p = 0) , 多重哦背包 (p = k) 完全背包,只需将p = t / w 。 多重背包,只需进行二进制拆分 注意数组开大 int readint() { int x =
        阅读全文
                
摘要:ll ai[maxn], bi[maxn]; ll mul(ll a, ll b, ll mod) { ll res = 0; while (b > 0) { if (b & 1) res = (res + a) % mod; a = (a + a) % mod; b >>= 1; } return
        阅读全文
                
摘要:设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根。(其中φ(m)表示m的欧拉函数) 给出1个质数P,找出P最小的原根。 ll m; ll fac[maxn], cnt; ll quickPower(ll a, ll b, ll M) { ll ans = 1ll; ll ba
        阅读全文
                
摘要:n,m分别为两边的点数,E为边数。 int e[maxn][maxn]; int n, m; int vis[maxn], match[maxn]; bool dfs(int x) { for (int i = 1; i <= m; i++) { if (e[x][i]) { if (vis[i])
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号