摘要: 未解 阅读全文
posted @ 2013-08-07 16:06 dark_dream 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个花盆,最开始都是空的,有两种操作,第一种从第i个花盆开始,给你k朵花,然你把空的花盆插上花,插到最后还有花,就把花丢掉,(输出开始插的花盆编号和最后一朵花的花盆编号,如果不能插一朵,就输出Can not put any one.\n),第二种操作就是从I到J花盆,清除其中的花(输出清除的花数)。解题思路:线段树的基本操作,解题思路一是 线段树+ 二分插的位置,还有一种是 直接线段树(利用性质直接查找插花的位置)解题代码: 1 #include 2 #include 3 #include 4 #define MAXN 50005 5 struct node{ 6 ... 阅读全文
posted @ 2013-08-07 13:11 dark_dream 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 题意:给定n个节点和m条连线,每个节点和每条连线都有一定的权值,如果有一个人取得了一条连线的两个节点,则他获得这条连线的权值,问按照最优策略,两个人的差是多少解题思路:把桥的权值分到两个节点上去,对答案没有影响解题代码: 1 #include 2 #include 3 #include 4 const int maxn = 111111; 5 long long a[maxn]; 6 int cmp(const void *a , const void * b) 7 { 8 if( *(long long *)a > *(long long *)b) 9 return... 阅读全文
posted @ 2013-08-07 00:07 dark_dream 阅读(185) 评论(0) 推荐(0) 编辑