摘要:
# [AtCoder Beginner Contest 296](https://atcoder.jp/contests/abc296/tasks) ## D ### 题意 给出n和m,问$1\leq i,j\leq n$,使得$ij\geq m$,求出这个乘积的最小值 ### 思路 这两个乘数至少 阅读全文
摘要:
# [Number Reduction](https://codeforces.com/contest/1765/problem/N) ## 题意 删除k位数,让原本的数变得最小(不含前导零) ## 思路 看官方题解学会的。记录每种数字出现的位置,原本有n位,那结果就有n-k位,一位位枚举,然后尽量 阅读全文
摘要:
# [Codeforces 874 div3](https://codeforces.com/contest/1833) ## A ### 题意 计算每两个相邻字符的不同种类 ## B ### 题意 重排一个数组b,使得$|a_i-b_i|\leq k$ ### 思路 根据相对大小去一一对应,这样每 阅读全文
摘要:
Codeforces 871 div4 ABC 简单题 D 题意 每次操作可以将当前的数分成两份,一份是$\frac{1}{3}$,一份是$\frac{2}{3}$,问当前数n可否进行若干次操作,最终出现一份大小为m的片。递归一下就好了,数据最大才$10^7$ 代码 void dfs(int x) 阅读全文
摘要:
最短路 金字塔 比平常的最短路多加了个参数。 这里的路径长度计算与其他题不同,它是一条路径的长度+这条路径中最长的那条路的长度 用平常的最短路是行不通的,不能设置平常的vis数组,即(点出队列就不再更新)这个思路是错的,因为加上路径上的路的max可能就不一样了。 代码 void dijkstra(i 阅读全文
摘要:
分层图 题目 一般题目会给一个图,然后给出一个操作,把边的代价变成另一种代价,最多变k次,问从起点s到终点t的最短路。 入门题 洛谷P2939 洛谷P4822 洛谷P4568 要点 可以看成(k+1)层的图,从0到k,那么每一层图都和原来一样,但层与层之间,比如说第i层一条边e(a,b),从a到b如 阅读全文
摘要:
学习 中国剩余定理 $ans=\sum_{i=1}^nM_ir_it_i modM$ 其中$M=\prod_1^nmod_i,M_i=\frac{M}{mod_i},t_i为M_i模M下的逆元$ void solve() { cin>>n; int M=1; for(int i=1;i<=n;i++ 阅读全文
摘要:
2022年第十三届蓝桥杯大赛软件类决赛C/C++大学B组真题 卡牌 const int N=2e5+10; pii a[N]; int sum; int b[N]; int n,m; void solve() { int mx=1e18,ans=0; cin>>n>>m; for(int i=1;i 阅读全文
摘要:
波动数列 题意 一个数列有以下性质:$c_i=c_{i-1}+a或者c_i=c_{i-1}-b,i\in[2,n]$. 求一个长度为n,总和为s的数列有多少个。 思路 显然 在位置$pos\in[2,n]$,假设$c_{pos}=c_{pos-1}+x$,则这个值x对整个数组的贡献为$(n-pos+ 阅读全文
摘要:
F 连通性状压dp 思路 看了dls的讲解后才明白一点点。 状态$dp[i][j][k]$表示到表示到i列,删除了j条边,点i和n-1+i是否联通,对于下一列点, 若当前i和n-1+i连通,则多出来的三条边连任意两条,使得下一列点i+1和n+i连通,否则下一列点不连通。 若当前点i和n-1+i不连通 阅读全文