01 2022 档案

摘要:把字符串翻转之后处理会更加方便 #include <bits/stdc++.h> #define ll long long #define ull unsigned long long #define rep(i,a,b) for(ll i=(a);i<=(b);i++) #define dec(i 阅读全文
posted @ 2022-01-15 00:11 DeaL57 阅读(84) 评论(0) 推荐(0)
摘要:https://codeforces.com/problemset/problem/1619/E 用栈处理 #include <bits/stdc++.h> #define ll long long #define ull unsigned long long #define rep(i,a,b) 阅读全文
posted @ 2022-01-14 23:39 DeaL57 阅读(62) 评论(0) 推荐(0)
摘要:求有胜利的情况: 定义dp[i][j],i个人,生命在j内,最后剩1个人的情况 每次每个人损失i-1点生命值,枚举死亡人数k,这些人生命值小于i dp[i][j] += dp[i-k][j-(i-1)]*(i-1)k*Cik 死亡人数有 k 个,我们要从i个人中选出 k 个人来死亡 死亡的人中,因为 阅读全文
posted @ 2022-01-13 17:02 DeaL57 阅读(27) 评论(0) 推荐(0)
摘要:E 分别算横坐标和纵坐标 #include<bits/stdc++.h> using namespace std; const int N=1e6+5; typedef long long LL; const LL mod=998244353; LL dx[N][2],dy[N][2]; LL f[ 阅读全文
posted @ 2022-01-10 15:24 DeaL57 阅读(41) 评论(0) 推荐(0)
摘要:st+dfs序求lca ll dfn[N][2], id[N << 1], s, n, m, tot; vector<ll> g[N]; void dfs(ll u, ll fa) { dfn[u][0] = dfn[u][1] = ++tot; id[tot] = u; for (auto to 阅读全文
posted @ 2022-01-07 14:58 DeaL57 阅读(55) 评论(0) 推荐(0)
摘要:ABCDE略 F 容易想到建图,我卡在如果把所有属于同一集合的边都加在图上,会让问题变复杂,当两个点属于同一集合的时候就不用在把这个边加上去了。 #include <bits/stdc++.h> #define ll long long #define ull unsigned long long 阅读全文
posted @ 2022-01-05 17:35 DeaL57 阅读(60) 评论(0) 推荐(0)