litterdog
litterdog
全部文章
分类
题解(14)
归档
标签
去牛客网
登录
/
注册
litterdog的博客
全部文章
(共14篇)
题解 | #手铐#
先把一个环缩成一个点处理 然后转化成树形dp解决即可 #include<bits/stdc++.h> using namespace std; #define ll long long const int N=1000010; const int mod=19260817; int nu...
2023-10-07
0
330
题解 | #Call to your teacher#
这道题有点像工程题的dp版本 特点就是比较繁琐 首先先枚举选取出来的行,列也行 然后定义状态f[i][j],表示前i列中选出j列时的最小分差和 然后状态转移即可 如果看不懂,说明基础不行,回去多补补题 #include<bits/stdc++.h> using namespace std...
2023-07-06
1
419
题解 | #牛牛的xor#
#include<bits/stdc++.h> using namespace std; #define ll long long ll a[101]; int main(){ int n; cin>>n; ll res=0; priority_queue<...
2023-04-23
0
268
题解 | #黑白树#
这道题一遍就过,切水题真爽 这道题考察树上贪心,没看出是dp 对于遍历到每个节点的时候,如果发现当前没有变黑则选择 一种可以往上程度越高的方案变黑,对未来状态更优 #include<bits/stdc++.h> using namespace std; #define ll long l...
贪心
2023-04-15
0
422
题解 | #Treepath#
结论 奇数加奇数等于偶数 偶数加偶数等于偶数 奇数加偶数等于奇数 我们一遍dfs求出有多少个节点到根的距离为奇数,有多少个节点到根的距离为偶数 若节点到根的距离为偶数,有两种情形 情形1:以根作为其中一个端点 情形二:任选二个节点连成路径 若节点到根的距离为奇数 直接任选二个节点连成路径即可 #in...
C++
动态规划
2023-04-15
0
380
题解 | #[NOIP2014]联合权值#
#include<bits/stdc++.h> using namespace std; const int mo=10007; #define maxm 200010 #define ll long long ll w[maxm]; vector<int>G[maxm]; ...
2023-04-13
0
264
题解 | #[NOIP2001]数的划分#
#include<bits/stdc++.h> using namespace std; #define ll long long ll f[210][10]; int main(){ int n,k; cin>>n>>k; f[1][1]...
2023-04-13
0
421
题解 | #Watering Hole#
这题比较水。 首先考察点就是最小生成树,对吧? 然后水管相当于一条边 然后每个点可以建立井,那么就新加一个大源点,所有点往大源点连一条边即可 边权就是W[i] #include<bits/stdc++.h> using namespace std; #define s 406 #defi...
2023-04-13
0
277
题解 | #白金元首与独舞#
这道题是到矩阵生成树的变形题 我们不妨假设能走出去的为连通块1 把平面上的位置当成一个点,它永远指向一个点。而外部也相当于一个点 而它不指向任何一个地方,这就是一颗有向生成树 .相当于其他树的根。我们可以讨论它能指向哪颗树,即可 这样就抽象出矩阵生成树的板子了
2023-04-13
0
317
题解 | #[USACO 2010 Dec S]Apple Delivery#
#include<bits/stdc++.h> using namespace std; #define ll long long #define maxm 100010 const ll inf=1e12; int n; struct node{ ll p,w; boo...
C++
最短路
2023-04-08
0
426
首页
上一页
1
2
下一页
末页