题目 令\(dp_{i,j}\)表示从点1到达点i,路径长度为j的方案数.转移为\(dp_{i,j}=\sum_{(i,v,w)\in E}dp_{v,j-w}p_{i,v,w}\). 显然只能从长度小的转移到长度大的,而且转移是一个自己和自己卷积的形式.考虑分治FFT,当分治到\((l,r)\)时,考虑\(dp_{i,t1} \to dp_{j,t2}(l \leq t1 \leq mid,mid < t2 \leq r)\)的转移.枚举i和j(i,j之间存在边),把\(dp_{i,t1}(l…
AtCoder ABC 250 总结 总体 连续若干次一样的结果:30min 切前 4 题,剩下卡在 T5 这几次卡在 T5 都是一次比一次接近, 什么 dp 前缀和打挂,精度被卡,能水过的题连水法都没写出来 确实是思维上的缺陷,毕竟 atc 全程都是紧张的 等下一场吧.. 前 4 题较易,不再赘述. E- Prefix Equality 长度为 \(n\) 的数组 \(A,B\) ,每次询问 \(A\) 的前 \(x\) 项和 \(B\) 的前 \(y\) 项组成的集合是否相同 即排序.去重后…
AtCoder ABC 242 题解 A T-shirt 排名前 \(A\) 可得 T-shirt 排名 \([A+1,B]\) 中随机选 \(C\) 个得 T-shirt 给出排名 \(X\) ,求得到 T-shirt 的概率 一个 if 即可 B Minimize Ordering 给一个字符串 \(S\) ,求 \(S\) 排列出的字典序最小的字符串 一个排序 C 1111gal password 给 \(n\) ,求出满足条件的 \(n\) 位数 \(X\) 个数 \(\;mod\;99…
ATCODER ABC 099 记录一下自己第一场AK的比赛吧...虽然还是被各种踩... 只能说ABC确实是比较容易. A 题目大意 给你一个数(1~1999),让你判断它是不是大于999. Solution 没什么好说的,代码学过编程就应该都会打. B 题目大意 有一排树,高度分别为1,1+2,1+2+3,1+2+3+4....1+2+3+...+999.现在下雪了,给出露在外面的两棵相邻的树的高度,问你雪的厚度. Solution 明显,我们把这俩数减一下就可以得出他们本来的位置,然后直接…
Atcoder ABC 141 A - Weather Prediction SB题啊,不讲. #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; char ch[50]; int main() { scanf("%s",ch+1); if(ch[1] == 'S') puts("Cloudy…
Atcoder ABC 139E 题意: n支球队大循环赛,每支队伍一天只能打一场,求最少几天能打完. 解法: 考虑抽象图论模型,既然一天只能打一场,那么就把每一支球队和它需要交手的球队连边. 求出拓扑序,每次从入度为0的点进行拓扑排序,并把答案加1,删去所有出度,重复该操作. 如果形成环的话就无解. CODE: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm>…
Atcoder ABC 139D 解法: 等差数列求和公式,记得开 $ long long $ CODE: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define LL long long LL n,ans; int main() { scanf("%lld",&n); ans =…
Atcoder ABC 139C 题意: 有 $ n $ 个正方形,选择一个起始位置,使得从这个位置向右的小于等于这个正方形的高度的数量最多. 解法: 简单递推. CODE: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define LL long long const int N = 1e5 + 100; in…
Atcoder ABC 139B 题意: 一开始有1个插口,你的插排有 $ a $ 个插口,你需要 $ b $ 个插口,问你最少需要多少个插排. 解法: 暴力模拟. CODE: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define LL long long #define N 100010 LL a,b,an…
Atcoder ABC 139A 题意: 给你两个字符串,记录对应位置字符相同的个数 $ (n=3) $ 解法: 暴力枚举. CODE: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define N 10 char s1[N],s2[N]; int ans; int main() { scanf("%s…