自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

转载 The 13th UESTC Programming Contest Preliminary—— F - Fabricate equation

解题思路:思路:贪心。倒着扫描,遇到0就忽略,因为对应被减数的该位也设0就好;遇到9,这个特殊,因为比如290-191=99,后面进位后,9这个位也可以使得被减数与结果的该位相同,这样的情况需要两个条件:必须后面可以进位。假如减数那位为0,不论结果为什么,都无法产生进位。第二个条件是,被减数的前一位可以借位,也就是说9这种情况完成后,即便前面遇到减数那位为0,也不能再忽略,只能当一般情况处理。一般

2015-03-31 21:53:37 477

转载 The 13th UESTC Programming Contest Preliminary——Hug the princess

题意:根据公式进行计算。解题思路:首先,自己可以通过举几个例子来验证,异或运算与与运算之和刚好等价于或运算,或者可以这样想,异或是(1,0)、(0,1),与是(1,1),合起来刚好是或。然后题目就是求两倍的或运算了。然后,每一个ai都与aj或运算(i官方题解:Code:#include #include #include using namespace std;typede

2015-03-31 20:49:06 555

原创 The 13th UESTC Programming Contest Preliminary—— L - Lovely princess

题意:有n项工作,每项工作都有一个Vi和ai,表示当你的能量大于等于Vi值时才能去做这项工作,完成后能量增加ai,且完成过程中不消耗能量。如果要完成n项工作,最小的初始能量为多少。解题思路:将所有工作按照Vi从小到大排序,依次做任务既是最优情况,记sum[i] = a1+a2+......+ai,完成所有工作所需的最小初始能力值即为ans= max(vi-sum[i-1]),详细解释为:将每次

2015-03-31 19:57:49 489

原创 The 13th UESTC Programming Contest Preliminary——AC Milan VS Juventus

题意:两队踢球,正常情况踢5场,当在5场内的某一场既能判断出输赢即可停止比赛,若5场未能分出胜负,即可加赛,每次加赛一场,当能分出胜负后即停止,现给你一个比分让你判断是否合理,合理输出yes,否则输出No。解题思路:很简单的一道签到题,详见代码。Code:#include #include #include using namespace std;int main(){

2015-03-31 19:21:04 593

原创 UESTC 576 —— Journey

题意:遍历N个点,每个点都要作为起始点进行一次遍历且每个点都要找出一个最短的遍历路程,每个点至少访问一次(即可返回遍历),输出每个点的最短路程。解题思路:由于要把 N 个点都访问一遍,因而最优解必然要经过 N-1 条(种)边,且每条(种)边至少经过一次。最优解也最多经过 N-1 条(种)边,因为经过 N-1 条(种)边时,已经把 N 个点都访问至少一遍。因而可以枚举哪条边不走,之后终点必然

2015-03-30 17:34:32 374

原创 UESTC 568 —— Battery Charging

题意:一个手机充电,第k天充电为k个单元电量,第k天用电量为k个单位电量,问从S天开始到T天结束,最多能用几天?刚开始时电量为空解题思路:首先我们要明白两点:1、以后用要花费更多的电量;      2、以后充电比现在充电要得到更多的电量。 然后思考发现:第 S 天电池没电,充完电之后剩余 S 的电量 ;第 S+1 天因为电量不够还需要充电,充完电之后剩下 2*S+1 的电量 ;第 S+

2015-03-30 17:27:19 378

转载 并查集详解

通过find函数找出该节点的根节点,通过UNION函数将两棵树合并。加入rank[N]来记录每个节点的秩(即树的高度),并按秩进行合并,可避免合并时的最糟糕情况,(树形为一条直线)通过路径压缩可以减少每次寻找根节点的次数。下面通过HDU1232(畅通工程)来进行分析:Code#include #include #include using namespace std;

2015-03-29 19:25:18 338

转载 Dijkstra算法详解

Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。  Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。其基本思想是,设

2015-03-29 15:55:57 858

转载 Kruskal算法详解

克鲁斯卡尔(Kruskal)算法(只与边相关)算法描述:克鲁斯卡尔算法需要对图的边进行访问,所以克鲁斯卡尔算法的时间复杂度只和边又关系,可以证明其时间复杂度为O(eloge)。算法过程:1.将图各边按照权值进行排序2.将图遍历一次,找出权值最小的边,(条件:此次找出的边不能和已加入最小生成树集合的边构成环),若符合条件,则加入最小生成树的集合中。不符合条

2015-03-29 15:52:52 1232

原创 HDU 5194——DZY Loves Balls

题意:一个盒子里有n个黑球和m个白球。现在DZY每次随机从盒子里取走一个球,取了n+m次后,刚好取完。DZY用这种奇怪的方法生成了一个随机的01串S[1⋯(n+m)]。如果DZY第i次取出的球是黑色的,那么S[i]=1,如果是白色的,那么S[i]=0。DZY现在想知道,'01'在S串中出现的期望次数。解题思路:考虑期望的可加性。第i(1≤in+m-1∑(n/(m+n))*(m/(n+m

2015-03-29 09:12:48 576

原创 Codeforces Round #297 (Div. 2)——B. Pasha and String

题意:首先给出一个字符串,然后给出一个n,代表天数,接下来有n个数,没个数表示每天从

2015-03-28 10:57:52 423

原创 Codeforces Round #297 (Div. 2) —— A. Vitaliy and Pie

题意:n个房间,每两个相邻的房间之间有一道门,门的种类也许不同,所以对于不同的门要用相应的钥匙才能打开,并且只有打开房间i-1才能到房间i,不能跨越多个房间,如果不能打开当前门,可以购买对应的一个钥匙,直到到达最后一个门为止,问所需买的最小的钥匙数量,其中小写字母代表钥匙,大写字母代表门,n个房间,2*n-2个字符串长度。解题思路:起初用暴力,结果超时了,后面看了解题报告重新写了一份过了,在此

2015-03-27 10:46:46 449

原创 UESTC 683 —— Eating Fish is Fun

题意:三种金币,一个Higurashicoin能买一条鱼,一个Uminekocoin能买两条鱼,一个Higanbanacoin能买五条鱼,现有不同数量的三种金币分别为a,b,c,请问通过这些金币不能买到的最小的鱼的数量为多少?解题思路:起初读完题后一位很简单,直接a+2*b+5*c+1输出,结果错误,想了很久没能想出解决方案,最后看了结题报告才恍然大悟,自己写的只是其中的一种情况,还有另外一种

2015-03-26 22:19:51 427

原创 UESTC 802—— Just a Line

题意:给出n个点,其中有n-1个点在同一个直线上,请你找出那个不在同一条直线上的点解题思路:已知最多有50000个点,可用枚举的方法进行。首先将n个点保存下来,然后从第一个点开始,依次比较它与前四个点之间的斜率(因为n的最小值为4,所以我们每将每个点与最前面的四个点进行比较),如果有不相等的点没直接将此点输出,另外在比较斜率的时候注意精度问题,本题精度取到1e-20,详见代码;Code:#

2015-03-25 20:37:31 467

原创 UESTC 804—— Lovely Calculus

题意:给你两个抛物线的系数,分别为:a1,b1,c1,a2,b2,c2;然后求两条抛物线所围成的面积解题思路:简单的数学题,先求出两条抛物线的交点,然后定积分即可得到结果。详见代码:Code:#include #include #include using namespace std;int main(){ //freopen("input.txt","r",stdin

2015-03-25 12:38:39 459

转载 UESTC 793—— A Linear Algebra Problem

题意:矩阵A满足非主对角线外所有元素为0,有一矩阵X,满足AX+XA=2A。问这样的X是否是唯一的解题思路:首先,X为单位矩阵,是满足算式的。然后讨论下:设最后的矩阵2A为矩阵B。当i=j时,bii=aii*xii+xii*aii=2*aii*xii=2*aii。也就是说,如果想要xii是唯一的,即1,那么aii就非0。当i!=j时,bij=aii*xij+xij*ajj=xij*(aii+a

2015-03-25 09:41:15 536

原创 HDU—— 5159 Building Blocks

题意:解题思路:

2015-03-22 10:15:43 479

原创 HDU—— 5174 Ferries Wheel

unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除。他是c++中的函数,所以头文件要加#include,具体用法如下:    int num[100];   unique(num,mun+n)返回的是num去重后的尾地址,之所以说比不真正把重复的元素删除,其实是,该函数把重

2015-03-16 10:30:18 481

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除