关闭

CodeForces 260D Black And White Tree 贪心

标签: codeforces
499人阅读 评论(0) 收藏 举报
分类:

按s从小到大排序贪心地建边,并消耗完s。


#include <cstdio>
#include <algorithm>
using namespace std;

int main() {
    static pair<int,int> v[2][100001];
    static int vv[2];
    int n,i,j,c,s;
    scanf("%d", &n);
    for(i=1;i<=n;i++) {
        scanf("%d%d",&c,&s);
        v[c][++vv[c]]=make_pair(s,i);
    }
    sort(v[0]+1,v[0]+1+vv[0]);
    sort(v[1]+1,v[1]+1+vv[1]);
    for(i=j=1;i<=vv[0]&&j<=vv[1];) {
        int t=min(v[0][i].first,v[1][j].first);
        printf("%d %d %d\n", v[0][i].second, v[1][j].second, t);
        v[0][i].first -= t;
        v[1][j].first -= t;
        if (v[0][i].first) j++;
        else if(v[1][j].first) i++;
        else if(i<vv[0]) i++;
        else j++;
    }
    return 0;
}


D. Black and White Tree
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

The board has got a painted tree graph, consisting of n nodes. Let us remind you that a non-directed graph is called a tree if it is connected and doesn't contain any cycles.

Each node of the graph is painted black or white in such a manner that there aren't two nodes of the same color, connected by an edge. Each edge contains its value written on it as a non-negative integer.

A bad boy Vasya came up to the board and wrote number sv near each node v — the sum of values of all edges that are incident to this node. Then Vasya removed the edges and their values from the board.

Your task is to restore the original tree by the node colors and numbers sv.

Input

The first line of the input contains a single integer n (2 ≤ n ≤ 105) — the number of nodes in the tree. Next n lines contain pairs of space-separated integers cisi (0 ≤ ci ≤ 10 ≤ si ≤ 109), where ci stands for the color of the i-th vertex (0 is for white, 1 is for black), and si represents the sum of values of the edges that are incident to the i-th vertex of the tree that is painted on the board.

Output

Print the description of n - 1 edges of the tree graph. Each description is a group of three integers viuiwi(1 ≤ vi, ui ≤ nvi ≠ ui0 ≤ wi ≤ 109), where vi and ui — are the numbers of the nodes that are connected by the i-th edge, and wi is its value. Note that the following condition must fulfill cvi ≠ cui.

It is guaranteed that for any input data there exists at least one graph that meets these data. If there are multiple solutions, print any of them. You are allowed to print the edges in any order. As you print the numbers, separate them with spaces.

Sample test(s)
input
3
1 3
1 2
0 5
output
3 1 3
3 2 2
input
6
1 0
0 3
1 8
0 2
0 3
0 0
output
2 3 3
5 3 3
4 3 2
1 6 0
2 1 0


0
0
查看评论

CFGym - 101086J. Smooth Developer - dfs+字符串处理

1.题目描述: J. Smooth Developer time limit per test 8 seconds memory limit per test 256 megabytes input standard input output standard output ...
  • dragon60066
  • dragon60066
  • 2017-05-08 19:34
  • 222

Codeforces Round #369 (Div. 2) C dp

链接:戳这里 C. Coloring Trees time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output ZS th...
  • libin66
  • libin66
  • 2016-08-30 16:47
  • 230

CF 17B Hierarchy

Nick's company employed n people. Now Nick needs to build a tree hierarchy of «supervisor-surbodinate» relations in the compan...
  • u013582254
  • u013582254
  • 2014-07-30 08:39
  • 669

CodeForces 445C DZY Loves Physics

C. DZY Loves Physics time limit per test 1 second memory limit per test 256 megabytes input standard input output standard out...
  • yao1373446012
  • yao1373446012
  • 2016-10-29 13:11
  • 138

Codeforces 260D - Black and White Tree

http://codeforces.com/problemset/problem/260/D 题意: 有n个点的一个树,同一条边的两个点涂成不同的颜色(black & white),每条边有一个权值,题目给出n , 和每个点的颜色 和 与每个点相连的边的权值和。 求出n-1条边 的端点和...
  • u011065479
  • u011065479
  • 2014-02-23 21:23
  • 882

[agc014d]Black and White Tree

前言看到这种题直觉是树的最大匹配,如果是比赛直接打毫无疑问。 然后证明了一下也不是很难的样子。 主要是见过类似套路吧。题意两个人轮流给树上节点染色。 先手涂白色,后手涂黑色。 如果最后树上存在一个白色点,与其相连的没有黑点,先手胜,否则后手胜。 请你判断先手必胜还是后手必胜。博弈我们先给出...
  • WerKeyTom_FTD
  • WerKeyTom_FTD
  • 2017-09-26 21:09
  • 234

HDU 5583 Kingdom of Black and White(依旧是暴力)——2015ACM/ICPC亚洲区上海站

HDU 5583 Kingdom of Black and White(依旧是暴力)——2015ACM/ICPC亚洲区上海站
  • queuelovestack
  • queuelovestack
  • 2015-11-28 18:07
  • 2204

HHUOJ 1021 Kingdom of Black and White(离散化+暴力)

问题 A: Kingdom of Black and White 时间限制: 1 Sec  内存限制: 64 MB 提交: 18  解决: 8 题目描述 In the Kingdom of Black and White (KBW), there are t...
  • hhu1506010220
  • hhu1506010220
  • 2016-09-07 01:24
  • 399

hdu5905 Black White Tree

hdu5905 Black White Tree
  • no_name233
  • no_name233
  • 2016-10-01 15:22
  • 364

POJ2488(A Knight's Journey)(DFS+按字典序输出)

A Knight's Journey Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 37150   Accepted: 12594 De...
  • hdd871532887
  • hdd871532887
  • 2016-01-08 13:09
  • 485
    个人资料
    • 访问:177909次
    • 积分:6149
    • 等级:
    • 排名:第4820名
    • 原创:449篇
    • 转载:7篇
    • 译文:0篇
    • 评论:7条
    神犇们的后庭院
    wzq_QwQ http://blog.csdn.net/wzq_QwQ
    vmurder http://blog.csdn.net/vmurder/
    PoPoQQQ http://blog.csdn.net/popoqqq/
    YJQ神犇 http://tarawa.github.io/
    ?神?论文
    http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf