摘要:
P2015 二叉苹果树 和选课差不多 但是并不是每条边的两边 谁是谁的父亲。。 根据边权确立点权 然后转二叉树 树形dp 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define maxn 1999 4 int n,m,tot,head[m 阅读全文
摘要:
P2014 选课 先将这棵树转化成二叉树 dp[i][j]表示以第i门科目为根节点的子树选j门科目最大的学分 记忆化搜索 k是枚举左儿子选的科目数 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define maxn 1999 4 int n 阅读全文
摘要:
P1352 没有上司的舞会 树形dp dp[i][0]表示第i个人没有来的活跃值 dp[i][1]表示第i个人来了的活跃值 第i个人来时,他的直接下属就不可以来 所以 如果k是他的直接下属的话 dp[i][1]+=dp[k][0] 第i个人不来,他的直接下属可以来也可以不来 所以 如果k是他的直接下 阅读全文
摘要:
505. 城市 二分花费,然后跑最短路 spfa超时,堆优化dijkstraAC 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define maxn 10000+15 4 #define maxm 10000*5+123 5 #define 阅读全文
摘要:
P1306 斐波那契公约数 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define LL long long 4 LL a[2][2],b[2][2],c[2][2],f1,f2; 5 #define mod 100000000 6 7 阅读全文
摘要:
P1962 斐波那契数列 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define LL long long 4 LL a[2][2],b[2][2],c[2][2],p; 5 #define mod 1000000007 6 7 void 阅读全文
摘要:
1431 快乐排队 金钱+位置是定值 所以sort一遍去重就可以判断了 1 #include<algorithm> 2 #include<cstring> 3 #include<cstdio> 4 #define maxn 205000 5 using namespace std; 6 int nu 阅读全文
摘要:
1693 水群 题意是求从1状态到n状态最少需要多少体力 可以以体力建边,跑最短路 每个点向他的质数倍数(质数k<=13)连边,并向这个点-1连边 spfa 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define maxn 1000000 阅读全文