随笔分类 - acm/icpc
摘要:///*/* 刚开始想的太麻烦了,开两个数组记录当前最短和余量模拟过程,但感觉太烦,于是XX看网上大牛的思路,仰慕许久 最优思路:dp[i]:记录到i的最小时间 从0 - (i-1) 判断确定加油后到i的时间 可能会有疑问,如果之前到某一点 j 时还有余量(仍可加速),那 再加油 判断是不是会有问题 其实不会,如果到j你不加油,那肯定是之前的一点加油了,所以一直dp下来即可求出dp[n...
阅读全文
摘要:Key Number时间限制 : 1000 ms 内存限制 : 32 MB提交次数 : 70 通过次数 : 34题目描述输入描述输出描述样例输入样例输出作者来源
阅读全文
摘要:http://info.zjfc.edu.cn/acm/problemDetail.aspx?pid=1461Simple Game时间限制 : 1000 ms 内存限制 : 32 MB提交次数 : 63 通过次数 : 31题目描述输入描述输出描述样例输入样例输出作者来源
阅读全文
摘要:http://info.zjfc.edu.cn/acm/problemDetail.aspx?pid=1464A String Problem时间限制 : 1000 ms 内存限制 : 32 MB提交次数 : 105 通过次数 : 22题目描述输入描述输出描述样例输入样例输出作者来源
阅读全文
摘要:/* 函数: 语法:result=polygonarea(Point *polygon,int N); 参数: *polygon: 多变形顶点数组 N: 多边形顶点数目 返回值: 多边形面积 注意: 支持任意多边形,凹、凸皆可 多边形顶点输入时按顺时针顺序排列 源程序: typedef struct { double...
阅读全文
摘要:/* 无知YY: 经典迷宫问题,代码是DFS,显然最重要的是剪枝, 这种东西主要靠靠经验积累 代码里有!!!的是主要部分,有剪枝,又易错点 */ #include #include char s[105][105]; int dir[4][2]={{1,0},{0,1},{-1,0},{0,-1}}; int n,m,sum,si,sj,ei,ej,t; int...
阅读全文
摘要:/* 无知的YY: 树状数组就是能对>x的所有值进行操作, 可以是加上一个v(即,求SUM(int x)) 也可以对其进行标记(即,每个出现过的进行记录,此题就是,比较典型) */ #include #include int s[100001],flag[100001]; int lmin[100001],lmax[100001],rmin[1...
阅读全文
摘要:for(i=0;iq;i++) { scanf("%d",&a); if(a) { scanf("%d %d",&b,&c); if(!visit[b]||!visit[c]) { printf("ERROR! At path %d to %d\n",b,c); } else { if(edges[b][c]==Max) printf("No such path\n"); else printf("%d\n",edges[b][c]); } } else { scanf("%
阅读全文
摘要:/* 此题纯属套模板 调用时,初始结点s,目标结点e,则 SPFA(s); cout #include int d[1002],n,m; int edges[1005][1005]; int queue[1000001]; #define MAX 999999999 #define N 1001 /* int SPFA(int s) { int i; bool visit...
阅读全文
摘要:#define N 1002 #define MAX 99999 int edges[N][N],d[N],n; void dijkstra(int v) { int i,j; bool s[N]={false}; for(i=1;i<=n;i++) d[i]=edges[v][i]; d[v...
阅读全文
摘要:void SPFA(int s) { for(int i=1;id[u]+ edges[u][i]) { d[i]= d[u]+edges[u][i]; //path[i] = u; if( !visit[i] ) { visit[i...
阅读全文
摘要:这题仔细想想就能看出来是DFS,代码好烂,以后要学学怎么把代码弄的好一点了。算法第一篇。AC代码
阅读全文

浙公网安备 33010602011771号