摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3829求二分图最大独立集, 可以转化为最大匹配问题;附上代码: 1 #include 2 #include 3 #include 4 #include 5 using namespace std;...
阅读全文
摘要:本题思路:用sum[]数组维护前缀和, 当然这里需要把原数组扩大为原来的两倍。然后对于任意一个长度为n的区间 k.....k+n-1,如果有该区间内的最小值大于等于sum[k-1]那么该种情况就符合要求。刚开始想到了线段树,RMQ.....汗颜~~当然只试了一下RMQ, 明显的MLE。真的没有想到去...
阅读全文
摘要:题目链接好久没有在Hdu水题了,于是乎在无聊之际还是找了一道水题,但是看完题目之后,明显是个数学题,我还是感觉有点打触的。因为一直对数学题没有多大信心。分析了一下,Y^2 = X^2 + n 可以转化为 Y^2 = (X + a)^2所以:n = a^2 + 2 * a * X , 而且 X > 0...
阅读全文
摘要:好久没有做题了,水平已经完全在学弟之下了。一个吉林邀请赛最水的题目。:(其实这题一看到数据范围,只可以想到思路,直接爆搜,加个记忆化。这题虽然A了,但是我还是没太想清楚一些边界情况,心虚着A了。我的代码如下: 1 /******************************************...
阅读全文
摘要:好久没写解题报告了,最近几周好忙。。。感觉是我进大学以来最忙的一段时间了,要给新生准备下周三比赛的题目,下周五要去南京赛区,回来之后马上就要期中考试了。。。不想挂科额,很早之前就看过关于LCIS的题目,但是依然理解不了,昨天在网上找了一些资料,我就直接看了那个O(n^2)的解法,有点小懂,但是对于其...
阅读全文
摘要:/**好险 968ms飘过。。。。。。。。。*说说我的感受,刚开始就直接敲堆优化的dij...发现直接就TLE了,改了好多种建边的方法依然是超时,之后才想到这种方法:*给每层建两个结点,分别标记为 n+2*i-1 和 n +2*i 。然后每个结点到它所在层结点的费用为0,第i层到第i+1层的费用为 ...
阅读全文
摘要:1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int K=101; 8 const int H=10001; 9 int s[K],sg[H];10 int k,m,h,n;11 bool...
阅读全文
摘要:1 //很裸的积分题,直接上模板 2 #include 3 4 #include 5 6 int aa, bb; 7 8 9 //函数10 double F(double x){11 return sqrt((1-x*x/aa/aa)*bb*bb);12 }13 14 15 //三...
阅读全文
摘要:1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 typedef __int64 ll; 8 #define inf 0x3f3f3f3f 9 //#define inf 0x7f7f7f7f7f7f7f...
阅读全文
摘要:1 //第一次遇到这种DP,看大牛的博客都是用最大流求解的。。。dp[k][i][j] 表示走k步,第一条路线横向走了i步,第二条路线横向走了j步,所获得的最大值。。 2 3 //转移方程也很好想 4 #include 5 6 #include 7 #define Max(x,y) (x>y...
阅读全文
摘要:1 //按照降序排列,而且队列中只保存k个元素 2 3 #include 4 5 #include 6 using namespace std; 7 8 int main(){ 9 int n,k;10 while(~scanf("%d%d",&n,&k)){11 ...
阅读全文
摘要:1 // 使用map > 实现一对多,因为会有重点,所以用multimap 2 3 4 #include 5 6 #include 7 #include 8 #include 9 using namespace std;10 11 map > cnt_x,cnt_y;12 13 int ma...
阅读全文
摘要:1 //状态方程和01背包类似,dp[j][k]表示背包容量为j的第k大背包的值。。。。。。。。。。 2 3 //应当注意的是此时dp[j][1.....k]应当是递减的。。。。。。。。。。。。。。。。。。。。 4 5 6 #include 7 8 #include 9 #define M...
阅读全文
摘要:1 //树形DP,求树的最大直径。。。。 2 #include 3 4 #include 5 #include 6 using namespace std; 7 #define Max(x,y) (x>y?x:y) 8 #define max 10000+5 9 10 vector next[m...
阅读全文
摘要:1 // 第一次做概率DP,根本不懂。。。看了题解还是不懂。尼马!!!!!! 2 3 //只是听人家说什么求概率要正推,求期望要逆推。。。尼马还是不懂!!!! 4 5 //于是找了个水题做了一个,特么的还是不懂!!!! 6 7 //这是个开始,,,慢慢来 8 。。。。。。。。。。。。。。。。...
阅读全文
摘要:#include#include#define max 25typedef __int64 LL;LL dp[max][3];//dp[i][0] 不含49//dp[i][1] 不含49但最高位为9//dp[i][2] 含49void init(){ memset(dp,0,sizeof...
阅读全文
摘要:1 //也是个水题,不过以前没用过set。。。。所以逼着我去学。 2 3 4 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 using namespace std;13 14 se...
阅读全文
摘要:1 //也是简单题,因为n太小,故暴力之! 2 3 4 #include 5 #include 6 #include 7 #define max 45 8 9 char map[max][max];10 11 int dis(int x1,int y1,int x2,int y2){12 ...
阅读全文
摘要://题目并不算难,但是特么的就是坑死你。。。//用数组a[]维护每轮的结果,a[i]就是代表走到i的概率。。。还需借助辅助数组q[]。#include#include#define max 205int n,m,l,r;double q[max],a[max];int main(){ while(s...
阅读全文
摘要:1 最大值最小问题,三分。。。。竟然排第六当时。。。。。 2 #include 3 4 #include 5 #define max 10000+10 6 #define Max(x,y) (x>y?x:y) 7 #define Min(x,y) (xinf){35 do...
阅读全文