HDOJ
这是阿谢啊
个人公众号【AttXZY】,知乎【阿谢】
展开
-
HDOJ2899(二分\三分)
题目连接 一道很水的题目,硬是被我做成有毒的题目 先讲二分法 这种多次函数照理来说是不能用二分法的(因为一般来说函数不是单调的),但是这个函数的导函数在给定(0,100)区间是单调的,所以就可以以利用二分法去找导数等于零的点,也就是要找的极小值点 #include #include #include using namespace std; #define flag 1e-6 doub原创 2017-12-27 21:49:12 · 316 阅读 · 0 评论 -
HDOJ1010(DFS)
题目连接这是最初的代码,没有经过剪枝,自然TLE,DFS很大的一个特点就是要搜遍全图,很耗时间,如果你按F10去一步步调试,将会按到天昏地暗(我就是这么做的),它会把每个能到达的节点都做一遍DFS,不过没关系,先理解最初始的代码,理解了再去剪枝#include<iostream> using namespace std; int si, sj,ei, ej,n,m,flag,t; char map[原创 2017-12-26 17:08:42 · 184 阅读 · 0 评论 -
HDOJ1325
HDOJ1325 乍一看并查集啊,native,结果WA, ORZ原创 2017-12-04 20:58:33 · 193 阅读 · 0 评论 -
HDUOJ1215(筛选、打表)
HDOJ1215原创 2017-11-16 22:23:20 · 287 阅读 · 0 评论 -
HDUOJ1421(DP)
ACM1421 又是动态规划的题目,dp方面问题对现阶段的自己还是一个坎,还是要多理解多刷题。 首先从简单的数塔入手,从第一行开始走,走到最后一行,怎么使经过的值之和最大?dp问题的核心:找到状态并建立状态转移方程首先需要建立一个数塔模型,模型中的元素用a(i,j)(j<=i)表示,如第三行第二个元素10用a(3,2)表示。并且我们规定从a(i,j)往下走所能得到的最大值为dp(i,j)。 我原创 2017-11-14 16:08:13 · 304 阅读 · 0 评论 -
HDUOJ1176(DP)
ACM1176 作为一个弱鸡,这道题目花了我很长的时间orz,首先花了很长的时间去理解这道题其实和数塔(ACM2084)实质其实一模一样,甚至连代码都差不多orz原创 2017-11-07 17:21:12 · 263 阅读 · 0 评论 -
HDUOJ1297/1002(大数计算)
ACM1297第一次做这道题的时候,以为就是一个简单的递推题,但还是too native,结果自然是WA,后来测试发现题目给的范围是1~1000,但是取100数据就会溢出(即便使用的是long long),因此需要使用大数计算。先简单的分析这题的递推公式:用f(n)表示排队种类,假定已知f(n-1) 第n个是男生,则有f(n-1)种可能 第n个是女生,首先需要明确要使f(n)要合法,那么第n-1原创 2017-11-06 22:29:48 · 245 阅读 · 0 评论 -
HD1233最小生成树
HDOJ1233\ #include #include #include using namespace std; #define M 10005 struct node { //定义边的结构体,包含边的起始城市,结束城市,路的距离 int start; int end; int dis; }edge[10005]; int disjoint[M];原创 2017-12-03 11:45:40 · 536 阅读 · 0 评论 -
HD1232并查集(disjoint)
HDOJ1232 不瞒大家,这题提交了十几遍,一道简单的并查集,硬是被我做成了一坨屎,orz,还是自己没有真正理解并查集的意思,导致自己翻车了2333 #include int city[1002]; int find(int x) { int temp=x; while(city[temp] != temp) //一定是while不能是if,是寻找根节点,不是父节点原创 2017-12-03 11:44:28 · 216 阅读 · 0 评论