[codeforces538E]Demiurges Play Again】的更多相关文章

[codeforces538E]Demiurges Play Again 试题描述 Demiurges Shambambukli and Mazukta love to watch the games of ordinary people. Today, they noticed two men who play the following game. There is a rooted tree on n nodes, m of which are leaves (a leaf is a no…
E - Demiurges Play Again 感觉这种类型的dp以前没遇到过... 不是很好想.. dp[u] 表示的是以u为子树进行游戏得到的值是第几大的. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PII pair<int, int> #define y1 skldjfskldjg #define y…
http://codeforces.com/problemset/problem/538/E 题目大意: 给出一棵树,叶子节点上都有一个值,从1-m.有两个人交替从根选择道路,先手希望到达的叶子节点尽量大,后手希望到达的叶子节点尽量小,叶子节点的放置方案任意.两个人都足够聪明,能够得到的最大值和最小值分别是多少. 思路: 先考虑最大的情况 考虑dp[i]代表i这个节点能达到的最大的数字在这个子树中排第几. 如果当前是先手操作,那么他肯定会往最大的那个子树的方向走,即dp[u]=min(dp[v]…
[题目链接]:http://codeforces.com/problemset/problem/538/E [题意] 给你一棵树; 有两个人,分别从根节点开始,往叶子节点的方向走; 每个人每次只能走一个单位深度的距离; 两个人轮流进行; 每次从深度为i的节点走到深度为i+1的节点; 直到走到叶子节点为止; 走到叶子节点的时候,叶子节点上的标号(1..m)就是这个游戏的结果; m为叶子节点个数 你作为幕后黑手,可以任意排列叶子节点上的标号; (但是每个标号只能出现一次,也就是说叶子节点上的各个标号…
Codeforces-566F 题目大意:给出一个有序数列a,这个数列中每两个数,如果满足一个数能整除另一个数,则这两个数中间是有一条边的,现在有这样的图,求最大联通子图. 题解:并不需要把图搞出来,可以直接dp,$f[i]$表示以第$i$个数为开头的最大的联通子图,转移类似最长上升子序列,$f[i]=max(f[i],f[j]+1)$ Code: #include<iostream> #include<cstdio> #include<algorithm> #incl…
呜呜周日的时候手感一直很好 代码一般都是一遍过编译一遍过样例 做CF的时候前三题也都是一遍过Pretest没想着去检查... 期间姐姐提醒说有Announcement也自信不去看 呜呜然后就FST了 呜呜然后rating-55(果然呜呜 TAT A. Cutting Banner   A large banner with word CODEFORCES was ordered for the 1000-th onsite round of Codeforcesω that takes plac…