Codeforce round# 380 E(贪心,构造)
2016-11-22 13:30
337 查看
题目大意
题目链接E. Subordinates
给你一棵有根树,让树上的节点挨着报告自己的祖先个数,问至少多少个节点说错了
分析
先排序,贪心,想想,如果树的长度越长那么出现错误的节点就会越少,所以如果有一个错误的节点就让他增加当前扫描到的树的长度,并且如果有节点会发生错误,显然让最长的节点出现错误比较优(有点绕~)具体说来就是,每次扫描的时候如果当前节点发生错误就让最后面的节点来补这个位置。
AC代码
#include <cstdio> #include <cstring> #include <queue> #include<algorithm> #include<iostream> #include<cmath> #include<map> #include<string> #include<vector> #define INF 0x3f3f3f3f #define maxn 2e5+10 #define fi first #define se second using namespace std; typedef long long LL; typedef unsigned long long uLL; typedef pair<int,int> PI; typedef map<int,int> Mii; typedef map<int,int>::iterator MI; int a[(int)maxn]; int main() { //freopen("H:\\c++\\file\\stdin.txt","r",stdin); int n,s; cin>>n>>s; for(int i=0 ; i<n ; ++i) { scanf("%d",&a[i]); } int ans =0; if(a[s-1]!=0){a[s-1] = 0;ans =1;} for(int i = 0; i<n ; ++i) if(i !=s-1 && a[i]==0)a[i] = n+1; sort(a,a+n); int L =1; for(int i = 1; i<n ; ++i) { if(a[i]<=L){L = max(a[i]+1,L) ; continue;} while(a[i]>L &&i<n) { L++;n--;ans++; } L++; } cout<<ans<<endl; return 0; }
相关文章推荐
- Codeforces Round #324 Anton and Ira(构造+贪心)
- Educational Codeforces Round 20 C 数学/贪心/构造
- coderforce Educational Codeforces Round 10 C. Foe Pairs(贪心)
- Codeforce Round #438 C.Bus(贪心)
- 【Codeforces Round 375 (Div 2) F】【构造 贪心】st-Spanning Tree 树的特殊最小生成树使得S度不超SD,T度不超TD
- 【Codeforces Round 324 (Div 2)E】【贪心 构造】Anton and Ira 全排列交换 最小距离成本
- Educational Codeforces Round 2C. Make Palindrome(贪心构造)
- Codeforces Round #380 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 2) E. Subordinates 贪心
- CodeForce 659C (贪心)
- Codeforces Round 380 C. Road to Cinema
- Codeforces Round #381 (Div. 2)C(构造,思维)
- 【Codeforces Round 354 (Div 2)A】【水题 贪心】Nicholas and Permutation 恰好交换一次的pos[n]-pos[1]
- Codeforces Round #342 (Div. 2) B. War of the Corporations 贪心
- Codeforces Round #253 DIV1 C 贪心
- 【Codeforces Round 329 (Div 2) B】【映射 排序 贪心】Anton and Lines 查看所有直线pair在[x1,x2]范围内是否有交点
- Codeforces Round #306 (Div. 2) 550D - Regular Bridge 构造图
- Codeforces Round #FF (Div. 1)——A贪心——DZY Loves Sequences
- Codeforces Round #282 (Div. 2) C. Treasure 贪心
- Intel Code Challenge Elimination Round D Generating Sets(贪心+线段树)
- Codeforces Round #265 (Div. 2) C 暴力+ 找规律+ 贪心