题目大意:John想让他的所有牛用上手机以便相互交流(也是醉了。。。),他需要建立
几座信号塔在N块草地中。已知与信号塔相邻的草地能收到信号。给你N-1个草地(A,B)
的相邻关系,问:最少需要建多少个信号塔能实现所有草地都有信号。
思路:考察树最小支配集问题。最小支配集:值从所有顶点中取尽量少的点组成一个集
合,使得剩下的所有点都与取出来的点有边相连。顶点个数最小的支配集被称为最小支
配集。这里用贪心法来求。
1.以1号点深度优先搜索整棵树,求出每个点在DFS中的编号和每个点的父亲节点编号。
2.按DFS...
分类:
Web程序 时间:
2015-01-01 14:52:51
阅读次数:
175
题目大意:n维多面体中有多少n-1维,n-2维,n-3维。。。1维元素,求他们的异或和并%p。
思路:考试题,当时做的时候不会线性筛乘法逆元,就得了70分。。。
算法和标程不太一样,标程好象是递推,但是我空间想象力不够,没推出来。。只能找规律了。。花了一个半小时才找出来的规律。。
CODE:
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-12-29 08:58:45
阅读次数:
172
思路:考虑一个任务的“最晚开始时间”即任务的起止时间的中点( startTime + (endTime-startTime)/2 ),因为如果该任务过了最晚开始时间仍然没有开始执行,那么肯定无法完成该任务,所以按照最晚开始时间进行排序。
代码一:
#include
#include
#include
using namespace std;
struct Time{
Time(){}
T...
分类:
编程语言 时间:
2014-12-24 11:49:31
阅读次数:
208
题目大意:有n个人进行铁人三项比赛,对于这三种运动,每个人都有一个固定的速度,但是每种运动的长度是多少并不知道。现在问裁判可不可以通过调整这三项运动的长度来使某一个人赢得比赛。
思路:考虑现在我们想让一个人赢的时候,这个人的三个速度分别为v1,v2,v3,想让所有人都输给他,设某一个人的三个速度是v1',v2',v3'。设三项的比赛的长度为l1,l2,l3。那么不难得到如下方程:l1 /...
分类:
其他好文 时间:
2014-12-11 22:31:58
阅读次数:
405
题目链接:点击打开链接
题意:k只麻球,每活一天就会死亡,但第二天可能会生一些麻球,具体是 生i个麻球的概率为pi ,求m天后所有麻球都死亡的概率。
思路:考虑全概率公式,求k只麻球m天后全死亡 ,因为死亡是独立事件,应用乘法 ,ans= f[m] ^k ,f[m] 为一只麻球m天后均死亡的概率。对于第i天,
f[i]=p0+p1*f[i-1]^1 +p2*f[i-1]^2 +...p(n-...
分类:
其他好文 时间:
2014-12-04 21:45:00
阅读次数:
180
问题描述:
Determine whether an integer is a palindrome. Do this without extra space.
基本思路:
考虑到回文的特点,根据给定数字获得与给定数字低位高位反序的数字。如果是回文数,则两数想等;否则不等。(即使反序数字溢出,也可的到正确结果)
代码:
bool isPalindrome(int x) { //...
分类:
其他好文 时间:
2014-12-04 20:04:19
阅读次数:
159
题意:
给你M,L,再给一个串str
任意截取M*L长度的连续子串
再把这个子串分成M份长度为L的连续串
使得这M份互不相同
问有几种截取方法
思路:
考虑到子串是否相等,就运用字符串hash
用到map判重和割补的办法优化
代码:
#include"cstdlib"
#include"cstdio"
#include"cstring"
#include"cmath"
#inc...
分类:
其他好文 时间:
2014-11-17 12:28:04
阅读次数:
232
题目链接:hdu 5105 Math Problem
题目大意:给定a,b,c,d,l,r,表示有一个函数f(x)=|a?x3+b?x2+c?x+d|(L≤x≤R),求函数最大值。
解题思路:考虑极点即可,将函数求导后得到f′(x)=0的x,即为极值点。在极值点处函数的单调性会发生变化,所以最大值一定就在区间边界和极值点上。注意a=0,b=0的情况,以及极值点不在区间上。
#incl...
分类:
其他好文 时间:
2014-11-16 12:07:27
阅读次数:
205
Day1
T1
这个题其实就是考你会不会编程。
T2
题目有坑点,说n个点的无向图上有n-1条边,很明显这是棵树。
因为是树,所以我们没必要跑最短路,而且世界上还没这么快的最短路算法能A掉这个题。
下面是ydc的思路
考虑距离为2的点对,可以理解为枚举i,i能走到的点集两两之间距离为2
我们要做的是对于一个数组a1,a2,a3,…,am,要求aiaj,i≠j的Σ与max
...
分类:
其他好文 时间:
2014-11-09 19:35:33
阅读次数:
252
问题描述:
1个程度为n(1
分析:
这个问题乍一看感觉有点懵,因为每次选择都是随机选择两个数,用暴力解法的话,空间很大。
如果我们按照常规的思路:考虑第一次选哪两个数,第二次选哪两个数,...依次执行n-1次,最后得到一个数。沿着这个思路最后只能用暴力搜索答案,空间太大,不可行。
如果你仔细思考可能会发现这个问题有一个限制行极强的条件:A[i]=i。这就是说数组内容是从1到...
分类:
编程语言 时间:
2014-10-17 12:04:31
阅读次数:
198