08 2012 档案
usaco 3.1.2inflate
摘要:标准的完全背包问题,不过完全背包空间复杂度为O(vn),这道题给出的v和n都是10000,直接开内存肯定MLE,所以新接触了一个名词:滚动数组,把不需要的空间重复利用就行了,因为dp只需要知道前一个n的所有值,不需要开10000*10000的空间,只需要2*10000就行了。下面贴出代码,以作纪念。View Code 1 /*{ 2 ID:jzy3209981 3 PROG:inflate 4 LANG:C++ 5 }*/ 6 #include<stdio.h> 7 #include<iostream> 8 #include<string.h> 9 #inc
阅读全文
usaco 3.1.3humble
摘要:坑爹啊!!!一直以为O(nk)会超时,所以想了很久只想到了O(nlogn),就是用堆,可是会超内存!!!想了很久了,不得已去网上看题解居然没看懂………………一直到今天认真地看了题解才知道是最朴素的算法!!!足足花了我五天时间啊!真伤心,不过收获还是有的,就是会用二叉堆了,还有也会用单调队列了(学优先队列的副产品),算是安慰吧。贴出代码,以作纪念!!View Code 1 /*{ 2 ID:jzy3209981 3 PROG:humble 4 LANG:C++ 5 }*/ 6 #include<stdio.h> 7 #include<iostream> 8 #includ
阅读全文
usaco 3.1.1agrinet
摘要:最小生成树问题,印象中有一种算法跟狄杰斯卡尔算法差不多就把它稍微改了下交了,然后过了,有时间好好研究最小生成树算法。下面贴出代码,以作纪念。View Code 1 /*{ 2 ID:jzy3209981 3 PROG:agrinet 4 LANG:C++ 5 }*/ 6 #include<stdio.h> 7 #include<iostream> 8 #include<string.h> 9 #include<math.h>10 using namespace std;11 12 int grid[100][100];13 int distanc
阅读全文
usaco 2.4.5fracdec
摘要:简单题,感觉像重温小学时候做除法的时候打草稿的感觉……小心些就好了,下面贴代码作纪念。View Code 1 /*{ 2 ID:jzy3209981 3 PROG:fracdec 4 LANG:C++ 5 }*/ 6 #include<stdio.h> 7 #include<iostream> 8 #include<string.h> 9 #include<math.h>10 using namespace std;11 char fracdec[100000];12 int remain;13 int cycle[100000];14 bool
阅读全文
usaco 2.4.3cowtour
摘要:弗洛伊德算法,也是首次接触,虽然思想蛮简单,但是写出来真心话了很多时间,总有一些细节错误,还有方向上的,比如DP数组一开始用了三维,结果超内存。还有就是判断连通分量的时候也是一错再错,…………最后还是用了广搜……最后就是题目上的一些问题了,没有想太仔细结果错了。下面贴代码,作纪念。View Code 1 /*{ 2 ID:jzy3209981 3 PROG:cowtour 4 LANG:C++ 5 }*/ 6 #include<stdio.h> 7 #include<iostream> 8 #include<string.h> 9 #include<m
阅读全文
usaco 2.4.2 maze1
摘要:应该算蛮简单的题,不需要什么优化搜索,可是居然想了我很久…………下面贴代码,作纪念。View Code 1 /*{ 2 ID:jzy3209981 3 PROG:maze1 4 LANG:C++ 5 }*/ 6 #include<stdio.h> 7 #include<iostream> 8 #include<string.h> 9 #include<math.h> 10 using namespace std; 11 12 int door[4]; 13 int doorstate[100][138][2]; 14 bool state[100
阅读全文
usaco 2.4.4 comehome
摘要:研究了几天最短路径,果然对图论还是很难有兴趣啊!第一次写迪杰斯特拉算法,写的超级烂,有空改改再优化下,好好想清楚细节方面……下面贴出代码以作纪念。View Code 1 /*{ 2 ID:jzy3209981 3 PROG:comehome 4 LANG:C++ 5 }*/ 6 #include<stdio.h> 7 #include<iostream> 8 #include<string.h> 9 #include<math.h>10 using namespace std;11 12 int shortest[60];13 int dista
阅读全文
浙公网安备 33010602011771号