先求出最小生成树,然后枚举树上的边,对于每条边“分别”找出这条割边形成的两个块中点权最大的两个
1.由于结果是A/B,A的变化会引起B的变化,两个制约,无法直接贪心出最大的A/B,故要通过枚举
2.不管magic road要加在哪里,加的边是否是最小生成树上的边,都会产生环,我们都要选择一条边删掉
注意删掉的边必须是树的环上的边,为了使结果最大,即找出最大的边
3.可以枚举两点,找出边,也...
分类:
其他好文 时间:
2014-06-20 09:09:03
阅读次数:
233
题目:http://icpc.ahu.edu.cn/OJ/Problem.aspx?id=517之前差分约束搞了一发,现在终于知道贪心了。对区间右端点排序,尽量从右端点取数。
数据比较小,n^2就行了。#include #include #include #include #include #inc...
分类:
其他好文 时间:
2014-06-11 08:21:10
阅读次数:
276
题目:http://poj.org/problem?id=1328注意 输出 Case
:这里是有个空格的。。和之前序列想法差不多 尽可能 向一边贪心。#include #include #include #include #include
#include #include #include #i...
分类:
其他好文 时间:
2014-06-11 08:00:13
阅读次数:
252
问题描述:
有一个需要使用每个资源的n个活动组成的集合S={a1,a2,···,an},资源每次只能由一个活动使用。每个活动a都有一个开始时间和结束时间,且0 File
Name: Activity_selector.c > Author: He Xingjie > Mail: gxm...
分类:
其他好文 时间:
2014-06-08 00:31:13
阅读次数:
319
a题,就不说了吧b题,直接从大到小排序1-limit的所有数的lowbit,再从大到小贪心组成sum就行了 1 #include 2 #include 3
#include 4 #include 5 #define N 200000 6 using namespace std; ...
分类:
其他好文 时间:
2014-06-07 21:49:57
阅读次数:
272
给定goal和limit,求1-limit中的若干个数,每个数最多出现一次,且这些数的lowbit()值之和等于goal,如果存在这样的一些数,输出个数和每个数;否则-1...
分类:
其他好文 时间:
2014-06-07 14:43:31
阅读次数:
208
AssignmentsTime Limit: 4000/2000 MS
(Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s):
1463Accepted Submission(s): 675Problem ...
分类:
其他好文 时间:
2014-06-07 08:39:25
阅读次数:
189
分治算法
一、基本概念
在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……
任何一个可以用计算机求解的...
分类:
其他好文 时间:
2014-06-04 14:10:55
阅读次数:
344
赫夫曼树:
假设有n个权值{w1,w2,w3....},试构造一棵具有n个叶子节点的二叉树,每个叶子节点带权为wi,则其中带权路径长度最小的二叉树称为最优二叉树或者叫赫夫曼树。
构造赫夫曼树:
假设有n个权值,则构造出的赫夫曼树有n个叶子节点,n个权值分别设置为w1,w2,....wn,则赫夫曼树的构造规则为:
1.将w1,w2...看成是有n棵树的森林;
2.在森林...
分类:
其他好文 时间:
2014-06-02 18:54:17
阅读次数:
363
有两个考试,选了第1个。题目的意思是W*H的方格,从S点到G点,中间要经过所有的n个checkpoint,求最短路。其中有的点不能走。如果没有checkpoint的话,一个BFS就可以了。最开始想到贪心,从S开始,每次选择最近的那个点,但很容易找出反例来。后来想,题目无非就是在S和G中安排n个点,以...
分类:
其他好文 时间:
2014-06-02 18:22:08
阅读次数:
272