#include<bits/stdc++.h>usingnamespacestd;intmain(){cin.tie(nullptr)->sync_with_stdio(false);intsum,n;cin>>sum>>n;n--;intres=0;vector<int>row(n+1),col(n+1);function<void(int,int)>dfs=[&](intpos,ints)->void{intx=(pos+n-1)/n,y=(pos%n?pos%n:n);intmx=min(sum-row[...
假设x有num[x]个子树大小为奇数的子节点y,再对num[x]分奇偶讨论。 若num[x]为奇数,只能选num[x]2+1个0,num[x]2个1,并且x必须是1;或者选num[x]2个0,num[x]2+1个1,并且x必须是0。 若num[x]为偶数,可以选num[x]2个0,num[x]2个1,x可以任意取;或者num[x]2−1个0,num[x]2+1个1,...
现在,我来解析l3-2这个题目,采用直观的树形动态规划思路。树形动态规划是显而易见的选择,设[公式] 表示以 [公式] 为根的子树中0和1的最小代价、0多于1的最小代价、1多于0的最小代价。对于偶数大小的子树[公式] ,只有[公式] 有意义,而对于奇数大小的[公式] ,只有[公式] 有意义。考虑从[...
最终得分:238分,个人国二。战绩:L1-5扣1分,这题字符串出的质量,个人感觉真的很差,没有补的必要(菜鸡逃);L2-4剪枝不够,拿了部分分,还忘记打表qwq;L3-1挺经典的做法;L3-2读完就有种二分的感觉,但感觉不太好写,最终只打了暴力qwq。最后,打完比赛一定要记得补题~~~L2-4 吉利矩...
2022天梯赛L3-2 前情提要 一个[1,2,3,4,5,...,n][1,2,3,4,5,...,n]的全排列逆序对和顺序对数目相同 例如:[1,2,3][1,2,3] 他的全排列方案有: [1,2,3] 逆序对0顺序对3 [1,3,2] 逆序对1顺序对2 [2,1,3] 逆序对2顺序对1...
int number[maxn]; int n, p; bool flag = false; bool cmp1(mmp a, mmp b) { return a.v.size() > b.v.size(); } bool cmp2(mmp a, mmp b) { return a.at < b.at; } void dfs(int now) { if (now == n && !flag) { ...
GPLT2022天梯赛L3-2 c++i++#include文章分类开源 考虑计算贡献 #include<bits/stdc++.h> usingnamespacestd; vector<int>v[300010]; #define int long long intres=0; constintmod=1e9+7; vector<int>tmp; intqmi(inta,intb) { intres=1; while(b)...
L1-7 天梯赛的善良 一个map解决(这场的出题人真的特别喜欢map,后面还有) #include<bits/stdc++.h>usingnamespacestd;constintN=1e6+5;intmain(){intn;cin>>n;map<int,int>cnt;intmini=N,maxi=0;for(inti=0;i<n;i++){inta;cin>>a;cnt[a]++;mini=min(mini,a);maxi=max(maxi,a);}cout<<...
2022天梯赛L3-2 前情提要 一个$[1,2,3,4,5,...,n]$的全排列逆序对和顺序对数目相同 例如:$[1,2,3]$ 他的全排列方案有: [1,2,3] 逆序对 0 顺序对 3 [1,3,2] 逆序对 1 顺序对 2 [2,1,3] 逆序对 2 顺序对 1 [2,3,1] 逆序对 2 顺序对 1 ...
太难写了,当模拟写的,代码分成了很多块,长度比较难看。。。 #include<bits/stdc++.h>usingnamespacestd;#definell long long#definefastio ios::sync_with_stdio(false),cin.tie(NULL),cout.tie(NULL)constintinf =1e9+7;constll lnf =1e18+7;constintmaxn =1e6+10; ...