
Talk is cheap Show me the code
文章平均质量分 63
tiutiu2011
这个作者很懒,什么都没留下…
展开
-
URAL 1198 Jobbery (强连通分量 Gabow)
#include #define MAX_MEMBERS 2000int numOfMembers;typedef struct To{ int member; int nextToNum;}To;To ToArray[MAX_MEMBERS * MAX_MEMBERS + 1];int ToNum;int ToNumLastAdded[MAX_MEMBERS + 1];int原创 2015-09-25 16:42:48 · 327 阅读 · 0 评论 -
URAL 1198 Jobbery (强连通分量 Tarjan)
#include #define MAX_MEMBERS 2001int numOfMembers;typedef struct Member{ int member; int next;}Member;Member MemberArray[MAX_MEMBERS * MAX_MEMBERS];//用作邻接链表,注意数组别开小了int MemberNum;int MemberLa原创 2015-09-25 15:39:06 · 349 阅读 · 0 评论 -
POJ 3114 Spy Communication (强连通分量tarjan + SPFA)
#include #define MAX_CITIES 555#define MAX_AGREEMENTS (MAX_CITIES * MAX_CITIES)#define INF (1 << 30)#define QUEUE_SIZE 200000000int numOfCities;int numOfAgreements;struct AGREEMENT{ int ad原创 2015-09-24 14:10:36 · 352 阅读 · 0 评论 -
USACO 2.1 The Castle
#include #define DEBUG 1#define TESTCASES 8int numOfRows, numOfColumns;int wall[50][50][4];int numOfRooms;int roomNumArray[50][50];int roomSize[2501];int directionArray[4][2] = {{0, -1}, {-原创 2015-09-27 22:00:24 · 268 阅读 · 0 评论 -
USACO 2.1 Ordered Fractions
#include #define DEBUG 1#define TESTCASES 9int max;typedef struct Fraction{ int numerator; int denominator;}Fraction;Fraction FractionArray[25600];int numOfFractions;//判断a,b是否互质int relat原创 2015-09-28 20:11:14 · 334 阅读 · 0 评论 -
URAL 1242 Werewolf (DFS)
#include #define MAX_VILLAGERS 1000int numOfVillagers;typedef struct Relative{ int villager; int next;}Relative;Relative relativeArray[2 * MAX_VILLAGERS + 1];int relativeNum;int an原创 2015-09-25 09:29:31 · 430 阅读 · 0 评论 -
USACO 1.5 Checker Challenge (DFS)
#include #define DEBUG 1#define TESTCASES 8#define IN(x) ( (x) >= 1 && (x) <= size ? 1 : 0 )#define WITHIN(x, y) ( IN(x) && IN(y) ? 1 : 0 )int size;int conflict[14][14];int solution[14];int n原创 2015-09-26 23:58:18 · 373 阅读 · 0 评论 -
URAL 1254 Die Hard (SPFA)
#include #define MAX_SIZE 75#define MAX_BOMBS 1000#define SQUARE_ROOT_2 1.414213562373095048#define MAX_DISTANCE 5626int xSize, ySize, numOfBombs;double velocity;char map[MAX_SIZE + 1][MAX_SIZ原创 2015-09-28 12:42:16 · 639 阅读 · 0 评论 -
USACO 1.5 Prime Palindromes (打表查询)
#include#define DEBUG 1#define TESTCASES 9#define ABS(x) ( (x) > 0 ? (x) : -(x) )#define PRECISION 1e-2#define SIZE 779int nums;int primePalindromes[SIZE] = {5, 7, 11, 101, 131, 151, 181, 191,原创 2015-09-25 21:44:08 · 434 阅读 · 0 评论 -
USACO 1.5 Checker Challenge (DFS + 剪枝)
#include #define DEBUG 1#define TESTCASES 8#define IN(x) ( (x) >= 1 && (x) <= size ? 1 : 0 )#define WITHIN(x, y) ( IN(x) && IN(y) ? 1 : 0 )int size;int conflict[14][14];int solution[14];int n原创 2015-09-27 00:24:38 · 353 阅读 · 0 评论 -
URAL 1203 Scientific Conference (贪心 + 优化)
#include #include #define MAX_TIME 30000int numOfReports;//start[endTime]表示结束时间为endTime的报告的开始时间//时间上限远比报告数量的上限小,采用这样的数据结构可以节省内存,而且连对结束时间排序都不用了,又节省了时间,虽然总要遍历所有可能的结束时间点[1, 30000],但总体上还是划算//技巧:给数组原创 2015-09-29 14:47:31 · 407 阅读 · 0 评论 -
URAL 1162 Currency Exchange (Bellman-Ford贝尔曼-福特算法)
#include int numOfCurrencies, numOfExchPoints, NickCurrencyNum;double NickCurrencyAmount;typedef struct Exchange{ int from; int to; double rate; double commisssions;}Exchange;Exchange Exchan原创 2015-09-29 12:27:37 · 968 阅读 · 0 评论 -
URAL 1203 Scientific Conference (贪心)
#include #include #define MAX_ERPORTS 100000int numOfReports;typedef struct Report{ int startTime; int endTime;}Report;Report ReportArray[MAX_ERPORTS + 1];int compare(Report one, Report ano原创 2015-09-29 14:16:21 · 324 阅读 · 0 评论 -
URAL 1106 Two Teams (DFS + 二分图)
#include #define MAX_PEOPLE 100int people;int friendship[MAX_PEOPLE + 1][MAX_PEOPLE + 1];int team[MAX_PEOPLE + 1];void divide(int one){ int teamNum = team[one]; int another; for (ano原创 2015-09-29 19:59:48 · 286 阅读 · 0 评论 -
USACO 3.1 Score Inflation (完全背包)
#include #define DEBUG 1#define TESTCASES 9#define MAX 10000int contestMinutes, numOfClasses;int pointArray[MAX + 1];int minuteArray[MAX + 1];int maxPoints[MAX + 1];int main(){#if DEBUG in原创 2015-10-17 21:35:57 · 412 阅读 · 0 评论 -
URAL 1205 By the Underground or by Foot (建图 + Dijkstra + 堆优化)
#include #include #define INF (1 << 30)double footSpeed, undergroundSpeed;int numOfStations;int start, end;typedef struct Coordinates{ double x; double y;}Cooridnates;Coordinates Coordinate原创 2015-09-29 09:15:19 · 425 阅读 · 0 评论 -
POJ 2456 Aggressive cows (二分 + 贪心)
#include int numOfStalls, numOfCows;int position[100001];int heapSize;void maxHeapify(int parent){ int largest = parent; int left = parent << 1; if (left position[largest]) largest = left;原创 2015-09-22 19:23:58 · 430 阅读 · 0 评论 -
HDU 5240 Exam
#include #include #define MAX_EXAMS 100000int numOfExams;typedef struct Exam{ int hoursBefore; int hoursLater; int hoursLast;}Exam;Exam ExamArray[MAX_EXAMS + 1];int compare(Exam one, Exam原创 2015-09-29 18:28:51 · 309 阅读 · 0 评论 -
USACO 2.1 Sorting a Three-Valued Sequence (贪心)
#include #define DEBUG 1#define TESTCASES 8#define MAX(x, y) ( (x) > (y) ? (x) : (y) )#define MIN(x, y) ( (x) < (y) ? (x) : (y) )int numOfRecords;int recordArray[1001];//bucket[num]表示数字为num的记录原创 2015-09-29 21:59:15 · 307 阅读 · 0 评论 -
Priority Queue 优先级队列
#include #define INF ( (1 << 31) - 1 )void swap(int *a, int *b){ int c = *a; *a = *b; *b = c;}int getParent(int child){ return child >> 1;}int leftChild(int parent){ return parent << 1;原创 2015-09-29 09:57:29 · 270 阅读 · 0 评论 -
URAL 1205 By the Underground or by Foot (建图 + Dijkstra迪杰斯特拉算法)
#include #include #define INF (1 << 30)double footSpeed, undergroundSpeed;int numOfStations;int start, end;typedef struct Coordinates{ double x; double y;}Cooridnates;Coordinates Coordinate原创 2015-09-28 17:16:27 · 479 阅读 · 0 评论 -
USACO 1.5 Checker Challenge (位操作)
#include #define DEBUG 1#define TESTCASES 8#define IN(x) ( (x) >= 1 && (x) <= size ? 1 : 0 )#define WITHIN(x, y) ( IN(x) && IN(y) ? 1 : 0 )int size;int allQueuesPleacedState;int solution[14];原创 2015-09-27 13:05:15 · 311 阅读 · 0 评论 -
URAL 1303 Minimal Coverage (贪心)
#include #include #define MAX_SEGMENTS 100000typedef struct Segment{ int left; int right;}Segment;Segment SegmentArray[MAX_SEGMENTS];int numOfSegments;int choosen[MAX_SEGMENTS];int cmp(con原创 2015-09-29 16:42:44 · 349 阅读 · 0 评论 -
USACO 2.1 Hamming Codes (递归)
#include #define DEBUG 1#define TESTCASES 9int codewords, numOfBits, hammingDist;int max;int result[257];int countBit1(int num){ int numOfBit1 = 0; while (num){ num &= (num - 1); numOfBi原创 2015-10-01 09:40:38 · 329 阅读 · 0 评论 -
USACO 2.3 Zero Sum
#include #define DEBUG 1#define TESTCASES 9int max;char *symble = "+- ";int isZero(char *str){ //其实用后缀表达式也可以计算结果 int sign = 1; int value = 0; int sum = 0; int i; for (i = 0; str[i] != '\0原创 2015-10-02 23:18:08 · 221 阅读 · 0 评论 -
USACO 2.1 Healthy Holsteins (DFS)
#include #define DEBUG 1#define TESTCASES 9#define MAX_TYPES_VITAMINS 25#define MAX_TYPES_FEEDS 15int typesOfVitamins;int minRequare[MAX_TYPES_VITAMINS + 1];int typesOfFeeds;int vitaminOfFeed[原创 2015-09-30 19:05:37 · 314 阅读 · 0 评论 -
USACO 2.1 Hamming Codes (迭代)
#include #define DEBUG 1#define TESTCASES 9int numberHasBit1[8]={0,1,3,7,15,31,63,127};int numberArray[257];int nunmbers;int codewords, numOfBits, hammingDist;int result[257];int countBit1(i原创 2015-09-30 21:51:40 · 318 阅读 · 0 评论 -
USACO 3.1 Stamps
#include #define DEBUG 1#define TESTCASES 9#define MAX_VALUES 50#define MAX_TOTALVALUE 2000000int valueArray[MAX_VALUES + 1];int numOfStamps, numOfValues;int minStampsArray[MAX_TOTALVALUE + 1]原创 2015-10-18 19:20:00 · 363 阅读 · 0 评论 -
USACO 3.1 Humble Numbers
#include #define DEBUG 1#define TESTCASES 9#define MAX_PRIMES 100#define MAX_N 100000//注意别开小了#define INF 0xFFFFFFFFint numOfPrimes, Nth;long long primeArray[MAX_PRIMES + 1];long long humble原创 2015-10-18 17:25:51 · 372 阅读 · 0 评论 -
USACO 2.2 Subset Sums (DP动态规划)
#include #define DEBUG 1#define TESTCASES 9#define MAX 39//partitions[preNums][sum]表示在前preNums个数中选取,使总和为sum的方案数//注意:第preNums个数,也就是最后一个数,可以选或者不选long long partitions[MAX + 1][800];int n;int ma原创 2015-10-01 13:12:55 · 313 阅读 · 0 评论 -
USACO 2.2 Runaround Numbers
#include #define DEBUG 1#define TESTCASES 9unsigned long int num;int visited[10];int digitArray[20];int size;int main(){#if DEBUG int testCase; for (testCase = 1; testCase <= TESTCASES; te原创 2015-10-01 16:49:41 · 263 阅读 · 0 评论 -
USACO 2.3 Longest Prefix
#include #define DEBUG 0#define TESTCASES 6typedef struct Primitive{ char str[11]; int len;}Primitive;Primitive PrimitiveArray[201];int list;char sequence[200001];int canGet[200001];void原创 2015-10-01 23:30:12 · 332 阅读 · 0 评论 -
USACO 2.2 Preface Numbering (模拟)
#include #define DEBUG 1#define TESTCASES 8int pages;char *RomanNumbers= "IVXLCDM";//pattern表示一位(个,十,百,千)上的罗马数字的字母表示模式,采用012表示为了跟RomanNumbers的下标关联char *pattern[10] = {"-1", "0", "00", "000", "0原创 2015-10-01 11:27:00 · 285 阅读 · 0 评论 -
USACO 2.3 Cow Pedigrees (DP动态规划)
#include #define DEBUG 1#define TESTCASES 9int main(){#if DEBUG int testCase; for (testCase = 1; testCase <= TESTCASES; testCase++){ char inputFileName[20] = "inputX.txt"; inputFileName[5]原创 2015-10-02 11:06:40 · 266 阅读 · 0 评论 -
URAL 1389 Roadworks
//在一个图中选取尽可能多没有相同结点的边#include #define MAX 100000typedef struct Road{ int to; int next;}Road;Road toArray[MAX * 2];int numOfTos;int toLastAdded[MAX + 1];//degree[city]表示与城市city相连的路中,有可能被封的路的原创 2015-10-01 20:03:01 · 275 阅读 · 0 评论 -
UVA 11292 Dragon of Loowater
#include#include#define MAX 20000int headHight[MAX + 1];int knightHight[MAX + 1];int cmp(const void *a, const void *b){ return *(int *)a - *(int *)b;}int main(){ int numOfHeads, numO原创 2015-10-01 20:59:19 · 262 阅读 · 0 评论 -
《编程之美》 求二进制数中1的个数
#include //常规解法,求余运算比较耗时可优化int countV1(int num){ int result = 0; while (num){ if (num % 2) result++; num /= 2; } return result;}//用位运算优化int countV2(int num){ int result = 0; while原创 2015-10-19 11:19:24 · 336 阅读 · 0 评论 -
POJ 3687 Labeling Balls (反向拓扑排序)
#include #define MAX_LABEL 200#define MAX_WEIGHT 200#define MAX_CONSTAINS 40000int numOfBalls, numOfConstrains;int maxLabel, maxWeight;int lighter, heavier;int fail;int label, weight;int wei原创 2015-11-03 19:32:25 · 720 阅读 · 0 评论 -
USACO 2.4 Bessie Come Home (Floyd最短路径)
#include #define DEBUG 1#define TESTCASES 9#define INF 1e8int distanceMatrix[52][52];int char2Int(char cha){ if (cha >= 'A' && cha <= 'Z') return cha - 'A'; else return cha - 'a' + 26;;}原创 2015-10-04 20:25:29 · 341 阅读 · 0 评论 -
URAL 1152 False Mirrors (DFS枚举)
#include #define MAX_BALCONIES 20#define INF 0xFFFFFFFFint numOfBalconies;int monstersArray[MAX_BALCONIES + 1];int numOfMonsters;int minDamage;void shoot(int monstersLeft, int currentDamage){原创 2015-10-19 16:22:06 · 443 阅读 · 0 评论