creative thinking
文章平均质量分 76
wust_tanyao
这个作者很懒,什么都没留下…
展开
-
hdu 4473 Exam (2012ACM成都赛区现场赛J题)
题意: 定义 f(x) = { num | a*b| x } , 求 \sum { f(x) } , x 思路: 题目等价于求 a*b*c 假定 a 所以我们可以通过枚举 a,b 计算出数量,时间复杂度未 O(n^(2/3)) 对于枚举的 a, b, c; 有三种情况 1 . 三个相等 a, a, a 则只需要计算一次 ,原创 2013-07-22 20:36:42 · 1472 阅读 · 0 评论 -
2013 ACM/ICPC Asia Regional Changchun Online----hdu4762 Cut the Cake
简单的求概率, 公式是 n/m^(n-1) 重点是要用大数啊。。。 人生中第一个JAVA程序 import java.io.*; import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args){ Sc原创 2013-09-28 17:15:01 · 1734 阅读 · 2 评论 -
wustoj1284 Gold Medal
Problem Description Gold medal is the aim of every one in WHUACM training team. Once upon a time, when Xioumu was a new member of team, he used to be a very curious boy. One day when he saw the gol原创 2014-03-30 00:42:24 · 1327 阅读 · 0 评论 -
hdu3067 小t的游戏
找规律。 这个序列最终一定能循环。 若本身等于等差数列和,那循环节就是1,不然小于前i项和循环节就是i。 至于如何证明嘛。。。大家可以去思考思考 #include #include using namespace std; int f[100005]; int main() { int i,flag,sum,a,n; f[1]=1; for(i原创 2014-05-06 19:44:56 · 905 阅读 · 0 评论 -
zoj3784 String of Infinity 思维。。。
堂堂一道AC自动机被我们乱搞过了 目前zoj排名第一 从run memory目测还没人像我们这样搞的 笑死了 看题目第一遍不太懂第三个条件的意思。 通过样例,第一个明显no,第二个yes的构造方法应该是abbabbbabbbb…… 由此我们想到,不管题目给定几个字母,我们只要找到一个字母可以无限增长下去、一个字母有限,且两个字母组合在一起不构成banned word 只要存在这样两原创 2014-05-05 23:25:59 · 1475 阅读 · 1 评论 -
poj 2785 4 Values Whose Sum is 0 --- 二分
原来比赛做过这种题 给四列数,要求每列中取一个,求四个数的和为0。 因为每列数的个数比较大,四次方太大,所以先合并成两列, 再从两列数中找和为0的,这里就可以先排个序,然后二分来找。 #include #include #include #include #include #include #include #include #include #defin原创 2014-01-12 10:39:16 · 794 阅读 · 0 评论 -
hdu4104 Discount
给n个数,问最小不能组成的正整数是多少。 数学归纳法。 从sum=0开始,每次考察sum+1>=a[i],则sum+1肯定可以达到,那么sum+a[i]以内的数肯定可以达到。 #include #include #include #include #include #include #include #include #include #define原创 2014-04-27 16:02:01 · 786 阅读 · 0 评论 -
hdu4857 逃生 bestcoder round1 A
题目要求要求在满足约束条件的情况下,使小的序号尽力靠前。 坑点就在这里,小的序号尽量靠前并不是代表字典序,它要求多种情况时,先使1靠前(可能1只能在第2或第3位 那么就要使它在第2位),其次2,3。。而不是在当前情况下,该位最小是哪个就输出哪个 所以直接拓扑排序,或者优先队列都是错的,因为这样都只能保证字典序最小。可以参考代码后面的样例理解 正确做法应该是 反向建图后,用最大值优先的优先队列原创 2014-07-21 08:22:23 · 1129 阅读 · 1 评论 -
hdu4961 Boring Sum
#include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f #pragma comment(linker, "/STACK:16777216") #define eps 1e-6 #define ll long l原创 2014-08-20 19:44:27 · 696 阅读 · 0 评论 -
hdu 4618 Palindrome Sub-Array
2013多校2的,找最大回文子矩阵 ans从n和m最大的开始,依次减小,找是否存在ans的正方形 #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f using namespace std; int ma[3原创 2013-10-10 20:11:09 · 950 阅读 · 0 评论 -
hdu4567 Brilliant Programmers Show
这题好难啊~~~~攀攀好厉害啊~~~~~经过我们两天的交流终于弄明白了啊~~~~~~求赞求赞啊啊~~~~~~~~ 目前好像只有这一篇解题报告,大体上写的很详细:点击打开链接 这题主要方法就是分向前和向后统计最大挑战次数,与自身挑战成功的值比较 为什么要分向前和向后来统计呢?这个小攀攀跟我解释了半天我也只是一知半解。。有问题请找小攀攀 我就解释下里面提到的,与前面和与后面相互超越 的原创 2013-08-16 10:40:59 · 1093 阅读 · 0 评论 -
POJ3902 The Bad Number
题意思路这里都写的很清楚→ →http://hi.baidu.com/chenwenwen0210/item/b4f142d53129fdc954347f11 我觉得这题真是太厉害了 作为一个程序员 严谨 认真 记忆力好 实在是太重要了 比起算法 不粗心大意显然更重要啊! 而这一题极大的考验了我们的耐心 细心。。bug王真心给跪了。。。 #include #include #incl原创 2013-07-18 16:45:32 · 1293 阅读 · 3 评论 -
hdu4445 CRAZY TANK 2012金华赛区现场赛D题
简单推下物理公式 对角度枚举 物理公式不会推啊智商捉急啊。。。。 到现在没想通为什么用下面这个公式就可以包括角度大于90的情况啊。。。 #include #include #include #include #include #include using namespace std; #define inf 0x3f3f3f3f const double pi=acos原创 2013-08-05 13:13:10 · 1310 阅读 · 0 评论 -
hdu4334 Trouble 合并集合可以降低复杂度阿啦啦
我觉得这一题方法很好的,但是之前完全没有碰到过,也没有想到,这么简单直接降低复杂度的方法 先将两个集合合并成1个集合,合并两个(s1,s2),即每个集合里n^2个数,还剩一个n个数的集合 这样还剩超时的 然后再优化,这个也想不到啊。。 sum=三个集合里面各取一个数, 小集合里面就直接枚举, 把两个大集合s1 s2从小到大排序, 一个里面从小到大开始枚举,一个里面从大原创 2013-08-08 20:16:18 · 924 阅读 · 0 评论 -
hdu4486 Pen Counts 简单啊。。。。。
题意: 给一条边 问能组成多少种不同的三角形 若三角形三边不相等 同一种分法有2种不同三角形 首先,分成三种类型, 1、先找三边都相等的,直接将边长 i %3==0 则ans++ 2、找两边相等的,也比较好理解 3、找三边都不等的,我先给一个最长边a, a一定小于等于 边长/2, 再找一个次长的边b,令b=a-1 那么剩下一条最短边 c=i-a原创 2013-08-11 16:56:23 · 1576 阅读 · 2 评论 -
uva270 Lining Up 搜索?
枚举所有两点,在此之上加上第三点,判断这三点是否共线 嘎嘎soeasy! #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f using namespace std; struct point { int x,y; }p[7原创 2013-08-24 20:11:52 · 919 阅读 · 0 评论 -
poj1850 Code 组合数学
话说这题我所有的极限值都测了 还是wa 求大神解。。。 题意: 给一串由26个小写字母组成的字母序递增的的字符串(l a - 1 b - 2 ... z - 26 ab - 27 ... az - 51 bc - 52 ... vwxyz - 83681 ... 方法: 先预处理,算出26以内的C[i][j],算出每一个位数的原创 2013-08-12 19:10:43 · 1005 阅读 · 0 评论 -
hdu4611 Balls Rearrangement
找呀找呀找规律 明显是以最小公倍数来循环的 所以就分最小公倍数这一段 和 最后多出最小公倍数的部分来算 在这之中还要优化 就是有些连续的段 在a和在b里的编号都一样 自己写写就找到规律了 #include #include #include #include #include #include #include #include #define inf原创 2013-08-26 19:05:09 · 803 阅读 · 0 评论 -
hdu4082 Hou Yi's secret
水题。。开始用边角边判定相似三角形 一直wa 比赛之后重新写 用边边边判定 一次过了。。 伤心欲绝T T 注意两点:判重点、判断三角形是否存在 正确代码: #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f using names原创 2013-08-28 09:47:28 · 936 阅读 · 0 评论 -
hdu4923 Room and Moor
给一个长度为n的A数列,每个数是0或1,要求构造一个递增数列B,长度为n,每个数为[0,1]的实数,使得∑(Ai-Bi)2最小。 可以发现,最前面连续的0和最后面连续的1都没有意义,中间可以看成1和0个数不同的101010串, 对于其中每一个10串,这段B序列取得最佳值是 1的个数/总个数, 每次添加取一段,如果这一段的最佳值小于上一段的取值,那么就把两段合起来更新一个新的最佳原创 2014-08-09 21:22:33 · 744 阅读 · 0 评论