zoukankan      html  css  js  c++  java
  • 洛谷 U140120 漂亮国大选

    洛谷 U140120 漂亮国大选

    洛谷传送门

    题目背景

    漂亮国是一个团结、民主的国家。

    题目描述

    这个国家有NN个城市,N-1N−1条双向道路连接着这些城市。因为漂亮国是一个团结的国家,所以从任何一个城市你都可以通过道路到达任何其他城市。是的,你是对的——漂亮国的拓扑结构是一棵没有方向的树。

    漂亮国有很多党派,每个党派会“把控”一些道路。当然,每条道路只能被一个党派把控。

    现在漂亮国要进行总统大选。在大选前,上一任总统有权重新安排所有道路的把控党派。上任总统安排道路的原则是:让整个国家看起来更民主。漂亮国国民对于民主的定义是:如果有一个党派拥有两条或以上的进入某个城市的道路,那么这个城市就不是一个民主的城市。

    假设你是漂亮国国家道路安排局局长。总统希望,这样不民主的城市的数量不超过KK个。请你回答总统:最少需要多少个不同的党派把控道路?

    输入格式

    从文件election.inelectio**n.i**n中读入数据。

    第一行两个整数N,KN,K,意义如题目描述所示。

    接下来的N-1N−1行,每行两个整数u,vu,v,表示存在着一条从uu城市到vv城市的道路。

    输出格式

    输出到文件election.outelectio**n.out中。

    一行一个整数ansans,表示最少所需党派数量。


    命题背景:

    预言梦:BIDEN WINS!

    。。。找了好久的紫题,觉得挺好没细看就编成了题。结果其实是水题?

    哭哭哭哭哭哭哭。

    原题是打每条边的颜色,但是那需要SPJ,所以不想写了。就改了个题。越改越水。

    不想改了,送大家分分吧。

    也是练大家心态。

    相信自己。

    YY出的算法就是对的,不要因为它是T3就觉得它假了...其实真就是对的。


    题解:

    所以没啥可讲的,就是一贪心。

    随便维护第二问就好。咋的都T不了。

    代码:

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    const int maxn=2e5+5;
    int n,k,r;
    int tot,head[maxn],to[maxn<<1],nxt[maxn<<1];
    int cnt,ans[maxn];
    void add(int x,int y)
    {
    	to[++tot]=y;
    	nxt[tot]=head[x];
    	head[x]=tot;
    }
    struct node
    {
    	int id,d;
    }du[maxn];
    bool cmp(node a,node b)
    {
    	return a.d<b.d;
    }
    int main()
    {
    	scanf("%d%d",&n,&k);
    	for(int i=1;i<=n;i++)
    		du[i].id=i;
    	for(int i=1;i<n;i++)
    	{
    		int x,y;
    		scanf("%d%d",&x,&y);
    		add(x,y);
    		add(y,x);
    		du[x].d++,du[y].d++;
    	}
    	sort(du+1,du+n+1,cmp);
    	r=du[n-k].d;
    	printf("%d
    ",r);
    	for(int i=n-k;i<=n;i++)
    		if(du[i].d>r)
    			ans[++cnt]=du[i].id;
    	sort(ans+1,ans+cnt+1);
    	for(int i=1;i<=cnt;i++)
    		printf("%d ",ans[i]);
    	puts("");
    	return 0;
    }
    
  • 相关阅读:
    向代码致敬,寻找你的第83行
    佛系程序员的月薪五万指南
    再谈全局网HBase八大应用场景
    如何避免HBase写入过快引起的各种问题
    阿里云MaxCompute被Forrester评为全球云端数据仓库领导者
    为了让开发者写MaxCompute SQL更爽,DataWorks 增强SQL 编辑器功能
    《CDN 之我见》原理篇——CDN的由来与调度
    Installing GCC (C++ Compiler and Development Tools)
    Gems installation
    Fedora23
  • 原文地址:https://www.cnblogs.com/fusiwei/p/13960598.html
Copyright © 2011-2022 走看看