cf 158div2 D. Black and White Tree

题意很简单,给出一个树中每个点相连的边的权值和,和点的颜色,一条边上颜色不同,求出原图……

因为条件很少,所以必然是个spj,所以可以直接贪心,然后把最后剩余的0边挂到任意一点上即可

 

/*
author:jxy
lang:C/C++
university:China,Xidian University
**If you need to reprint,please indicate the source**
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#define INF 1E9
using namespace std;
#define mp make_pair
#define f first
#define s second
vector<pair<int,int> >v[2];
int main()
{
    int n,i,j,k,t;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d%d",&t,&k);
        v[t].push_back(mp(k,i+1));
    }
    sort(v[0].begin(),v[0].end());
    sort(v[1].begin(),v[1].end());
    for(i=j=0;i<v[0].size()&&j<v[1].size();)
    {
        k=min(v[0][i].f,v[1][j].f);
        printf("%d %d %d\n",v[0][i].s,v[1][j].s,k);
        v[0][i].f-=k;v[1][j].f-=k;
        if(v[0][i].f)j++;
        else if(v[1][j].f)i++;
        else if(i<v[0].size()-1)i++;
        else j++;
    }
    return 0;
}

 

时间: 2024-12-05 00:17:07

cf 158div2 D. Black and White Tree的相关文章

【CF 675D Tree Construction】BST

题目链接:http://codeforces.com/problemset/problem/675/D 题意:给一个由n个互异整数组成的序列a[],模拟BST的插入过程,依次输出每插入一个元素a[i]后a[i]的父节点. 数据范围:n [2, 10^5] 思路:直接模拟一般的BST而不维护平衡性的话,有可能会出现极度不平衡甚至退化的情况,复杂度会从O(nlogn)上升到O(n^2).因此要用平衡二叉树. 可以利用STL中的set容器,但对于题目所要找的"父节点",set并不提供接口.这

数据回发时,维护ASP.NET Tree控件位置

asp.net|控件|数据 ASP.NET2.0提供了一个功能强大的TreeView控件,但是它看起来有一个缺陷:它好像不能够跟踪用户最后选择的一个节点.如果你滚动到第50个节点然后展开该节点,那么当单击链接页面进行回发后,你必须重新利用滚动条下拉到你想要的节点位置. 在.NET较早的版本里,您可能考虑使用SmartNavigation这个特性.SmartNavigation是Web页面指令的一个属性,它的取值为布尔值,一个设置为true的页面指令看起来类似如下: <%@ Page Langua

Flex tree基于数据库的数据源

最近在研究flex,关于flex tree基于数据库数据的网上的例子基本没有,大部分都是基 于xml的对xml的操作实现tree的改变,通过改变数据库数据实现tree的改变例子没有找到, 所以分享给大家一个例子: 我是用hessian实现flex端与java端通讯的 1.flex端代码 Java代码 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http:

EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例

 本篇文章主要是对EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Main.aspx.cs" Inherits="Manage_Main" %>   <!DOCTYPE html PUBLIC "

MySQL · TokuDB · TokuDB索引结构--Fractal Tree

背景介绍 TokuDB采用的是Fractal Tree作为索引的数据组织方式.它是一种面向磁盘I/O优化的数据结构,采用"分期偿还"策略减少在数据插入过程中从root节点到leaf节点的搜索过程.这种搜索过程可以简称为locate_position,就是寻找要插入key在Tree中位置的过程. 一般B+Tree的插入过程分为两个部分: Locate_position: 从root开始使用binary search方法递归地寻找应该插入到哪个子节点上,直到在leaf节点找到应该插入的位置

TokuDB索引结构--Fractal Tree

背景介绍 TokuDB采用的是Fractal Tree作为索引的数据组织方式.它是一种面向磁盘I/O优化的数据结构,采用"分期偿还"策略减少在数据插入过程中从root节点到leaf节点的搜索过程.这种搜索过程可以简称为locate_position,就是寻找要插入key在Tree中位置的过程. 一般B+Tree的插入过程分为两个部分: Locate_position: 从root开始使用binary search方法递归地寻找应该插入到哪个子节点上,直到在leaf节点找到应该插入的位置

【BBST 之伸展树 (Splay Tree)】

最近"hiho一下"出了平衡树专题,这周的Splay一直出现RE,应该删除操作指针没处理好,还没找出原因. 不过其他操作运行正常,尝试用它写了一道之前用set做的平衡树的题http://codeforces.com/problemset/problem/675/D,运行效果居然还挺好的,时间快了大概10%,内存少了大概30%. 1 #include <cstdio> 2 #include <cstring> 3 #include <string> 4

EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例_实用技巧

复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Main.aspx.cs" Inherits="Manage_Main" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR

jquery+CSS实现的多级竖向展开树形TRee菜单效果_jquery

本文实例讲述了jquery+CSS实现的多级竖向展开树形TRee菜单效果.分享给大家供大家参考.具体如下: 这里演示垂直的树形菜单,应用CSS和jquery技术来实现,显示在网页左侧比较合适,考虑到简洁,没有使用图片之类的作修饰.本效果兼容IE.火狐等主流浏览器. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-css-nlevel-vshow-tree-codes/ 具体代码如下: <!DOCTYPE html> <hea