2013年4月25日

DFS HDU 1518 Square

摘要: 因为n<=20,较小,用DFS,但是要剪枝,不然就TLE这个题是校队讨论时ZZM说的,然后里面有讲到一种错误的思路,用0-1背包恰好背满边长,边长的2倍 ,边长的三倍,边长的四倍事实上,如果数据是7 7 2 1 7 8就是一个反例,每种都能背满,但是无法构成四边形。然后我自己先写了一个DFS,用四个数d1,d2,d3,d4来存状态,对于每根棍子,有四种可能,分别是放d1,d2,d3,d4里,再往里搜,回退的时候,d1,d2,d3,d4回到原来的状态。一个剪枝是当d1,d2,d3,d4中出现大于边长的值就return,不往下搜了。还有就是已经搜到可行解了,也不搜了。这样最坏情况下复杂度为O 阅读全文

posted @ 2013-04-25 18:56 allh123 阅读(171) 评论(0) 推荐(0) 编辑

HDU 2093 水题,就是注意一下细节,有个结构体的排序,重载运算符小于

摘要: 注意细节,就是名字是左对齐,其余两项是右对齐,然后名字和题目数中间有一个空格,题目数和时间之间有一个空格。做了一两个小时,弱暴了`````不过也有点收获,看到了以前学C时没有怎么注意到的,有个头文件叫ctype.h,里面有函数isalpha(c),isdigit(c)各种处理字符的函数,以前看到过,很久不用就忘了,还是得学了多用才行。。。不过自己写一下也没什么太大的关系````还有就是左对齐得加个“ - ” ,也忘了````贴代码:View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <algo 阅读全文

posted @ 2013-04-25 00:55 allh123 阅读(418) 评论(0) 推荐(0) 编辑

导航