- 博客(18)
- 收藏
- 关注
原创 51nod 基础题(2)
1019 树状数组 求 逆序数 1081 树状数组 求 区间和 ①离散化。struct num{ int ord; int value;}sort(a+1,a+n+1,cmp);aa[a[i].ord]=i;我的理解就是:不改变数组的顺序,但是把每个元素的值改为从1~n+1的数字。 树状数组int lowbit(int x) return x&(-x);void
2016-10-25 10:16:55
355
原创 【比赛总结】第一次排位赛
【泪奔之路】第一次排位赛总结先整体讲一下情况传说的排名垫底犯了基本的两个错误,浪费了两个小时态度很重要,为了一道题放弃了一片树林,蠢==进步空间很大,好吧,就是太弱了弱了弱了弱了….学好英语很重要。题意看错了两道缺乏定时做题经验,做题没有合理分配时间…太弱了太弱了AB两题是水题(好吧==其实都是水题)c题犯了基本错误。在for循环中 将strlen()放在判断条件中,导致超时==在这道
2016-10-09 19:51:06
311
原创 hdu 3078 Network&& poj 2395 Out of Hay(kruskal)
hdu3078 题解:/*kruskal*/#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>#include<iostream>using namespace std;struct Node{ int n,m,d;}node[15001];int pre[1001];int a[15
2016-08-12 21:06:54
331
原创 hdu 2112 HDU Today &&(dijkstra)
题解:因为读入的是字符串,所以用map储存数据,然后就是dijkstra模板;#include<string>#include<string.h>#include<iterator>#include<iostream>#include<algorithm>#include<map>using namespace std;map<string,int>mybus;#define max
2016-08-12 20:51:35
485
原创 hdu 1233 还是畅通工程(prim)
题意:城镇相同且总路程最小。即最小生成树;/*prim*/#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>#include<iostream>using namespace std;#define maxn 100int edge[maxn][maxn];int visit[maxn];i
2016-08-12 20:46:17
215
原创 hdu 1232 畅通工程(并查集)
题意:问最少需要建多少路才能使所有的城镇联通 题解:并查集/*并查集 */#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>#include<iostream>#include<queue>#include<map>#include<vector>int pre[1001];int fou
2016-08-12 20:40:46
187
原创 HDU1596 find the safest road(floyd)
题意:每条路都有安全系数,求从出发到目的地的最大安全系数题解:floyd(在不超时的情况下,floyd可以用来求最短路径or某两点之间可否到达)/*floyd算法 */#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>#include<iostream>#include<queue>#includ
2016-08-12 20:30:08
260
原创 杭电-1059 Dividing(多重背包)
思路:统计出总价值后sum,若sum不能整除2则不能划分,否则计算dp[sum/2]是否等于sum/2;要注意一下dp区间的范围和输出格式。注意不要PE和RE了~;代码:#include#include#include#includeusing namespace std;int a[10];int dp[120001];int sum=0;int mynum=0;str
2016-07-26 15:16:27
295
原创 杭电-2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191相比于01背包和完全背包,多重背包由于每种物品的个数是固定的,因此要多了一层循环,用来变更物品的取用个数。但是三重循环有时候可能会出现超时之类的问题~所以我们可以将其转化成01背包问题后再进行二进制优化下面是《背包九讲》给出的模板,因为是背包基础题,所以这道题直接用模板就搞定勒
2016-07-26 15:05:39
470
原创 杭电-1114 Piggy-Bank(完全背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114状态转移方程:dp[i][j]=max(dp[i- 1][j],dp[i-1][j-c[i]]+w[i]);
2016-07-26 14:49:54
353
原创 杭电-2546 饭卡(01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546状态转移方程:dp[i][j]=max(dp[i-1][j],dp[i-1][j-c[i]]+w[i]);思路 : 小于5元时可以直接输出,大于5元的时候,先拿出5元买最贵的菜,然后求剩下的钱的最大支出。最后用余额减去这些支出就得出结果啦代码:#include#include
2016-07-26 14:42:09
284
原创 杭电2602 Bone Collector(01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602状态转移方程:dp[i][j] = max(dp[i-1][j],dp[i-1][j-w[i]]+c[i])代码:#include#include#include#includeusing namespace std;int value[1100],v[1100];in
2016-07-26 14:28:12
247
原创 区间or值(移位)
题意:t组案例,每次给定n个数(不超过1e9),一共m次询问(1思路:先记录第i个数的2进制表示 two[i][j] =(num>>j)&1; 再将前i个数的2进制每位加起来 sum[i][j]=sum[i-1][j]+two[i][j]; 最后求给定区间的or值 if(sum[b][j]-sum[a-1][j]>0) ans = ans| (1
2016-07-17 20:32:40
713
原创 【不积跬步_无以至千里】 数学知识(不定时整理)
1.已知多边形的点坐标,求面积case1:点已经按照顺时针or逆时针排序好x[n]=x[0] , y[n]=y[0];for(int i =0;i{ sum+=(x[i]*y[i+1]-x[i+1]*y[i]);} s= fabs(sum*0.5);case2:给定点的坐标,不确定有无排序取一个多边形任意一个顶点(x0,y0),向其他的顶点连线,将多边形
2016-07-15 19:10:35
1369
原创 【不积跬步_无以至千里】hdu 5641 国王的手机 and 判断四边形
hdu 5641 国王的手机最开始是re,然后是wa,最后终于过了= =思路很简单,但是敲代码的时候有自己需要注意的点吧。首先一边读取数据,一边在b[i]中统计a[i]出现的次数的时候,由于a[i]不满足题意的时候,会数组越界,so,一直re;然后修改代码,先读取所有数据。然后循环从0到倒数第二个,先判断a[i]的范围,再统计次数,判断有无重复,最后再与下一个数进行中间
2016-07-14 23:06:55
329
1
原创 【不积跬步_无以至千里】ccnu_2016_summer_week1(1)
c题:变量类型错误 == double double doubled题: 格式错误 空行在两个图形中间= = 中间中间中间
2016-07-13 21:12:35
279
原创 【不积跬步_无以至千里】 ccnu_2016_summer_week1(2)_贪心 - C
题意:最短时间来回过河。仅有一艘船,并且每次只能够载两个人,以花费时间较长者为准。数据:t组案例 每组案例给定人数n和每个人过河时间t;思路:1.从划船返回时间考虑,即以过河时间最短者为准。这时候返回时间最短,但是对于花费时间较长过河者并没有优化时间消费。 2.希望花费时间比较多的人能够乘同一艘船过河。 算法:贪心。将问题简化为一个个子问题。当n#includ
2016-07-13 19:21:38
441
原创 【不积跬步_无以至千里】 ccnu_2016_summer_week1(3) - B
题意:给定n个数,任意选定一个数以顺时针方向行进,一个数经过一次减一,遇到0停止。求最长路径。解题思路:用长度为2n的数组储存n个数组成的圈,最长路径即为大于最小值的最长数字串加上最小值*n;参考代码 by 不会翻车的张司机 #include#include#define MAX 400000+100int a[MAX];int main(){ int
2016-07-12 20:17:53
314
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人