HUD
ShadowFox_
这个作者很懒,什么都没留下…
展开
-
HUD2511改——汉诺塔X
这道题无非是找规律。不知为何我是认为盘子越小序号越小做的,做出来居然通过了。但不管,我们找找规律。3个的时候: 1 1:1-3 2 2:1-2 3 1:3-2 4 3:1-3 5 1:2...原创 2018-03-09 21:36:38 · 317 阅读 · 0 评论 -
HUD1003——Max Sum
主要是通过动态规划来做这道题。我认为,我们可以假设当前位置是已选到最大的子串结束位置。如果之前的最大子串和为负数,那么其对最终和没有正面意义,那么就将其舍去,设置start与end于新位置p。如果之前和为正数,往后看,end++。若子串以p结尾,无论a[p]是正是负,以p结尾的最大子串和定是a[0]~a[p]最大子串和+a[p],我们将其与历史最大子串和相比较,若它比历史...原创 2018-03-13 22:10:50 · 290 阅读 · 0 评论 -
HDU1006——Tick and Tick
这题很滑稽,因为开始我算出0的百分比是200%,这让我想起了那个实验产率300%的化学笑话。好吧,仔细讲讲这题: 有几个逻辑关键点:首先,24h与12h的情况完全一样。并且根据常识,在0:00与12:00两个时刻表盘上三个指针皆重合。并且,三个指针运动相互独立,没有干扰。 很自然能想到我们可以两两考虑这三个表针,算它们重合周期与周期内指针夹角超过n的时间。最...原创 2018-03-18 18:10:20 · 253 阅读 · 0 评论 -
HDU1008——Elevator
#include <stdio.h>#define MAX 1000int main(int argc, const char * argv[]) { int n; int a[MAX]; while(scanf("%d",&n)&&n){ int i; int sum=5*(n); ...原创 2018-03-20 10:44:31 · 198 阅读 · 0 评论 -
HDU1009——FatMouse'Trade
#include <stdio.h>#include <stdlib.h>#define MAX 1000struct goods{ int sum; int sum2; double piece;}p[MAX];int cmp(const void *a,const void *b){ struct goods *a...原创 2018-03-20 11:41:36 · 220 阅读 · 0 评论 -
HDU1007——Quoit Design
这道题就是求平面上任意两点最小距离。我们先把这些点按横坐标排序,算小区间内两点最小距离,两区间分界处两点最小距离等取小,再两小区间合并,一层层归并,就能出答案。 最坑的是本人第一遍就想到了归并算法,但时间迷之超限,经过某大神指点才发现原来是排序问题,甚至快排都不够快,必须用c++里的sort才可以。 代码如下:#include <stdio.h>#...原创 2018-03-21 10:30:35 · 277 阅读 · 0 评论