- 博客(15)
- 资源 (11)
- 收藏
- 关注
转载 一些输入输出的问题
综述看一下输入操作的原理,程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin等输入输出函数直接从输入缓冲区中取数据。正因为cin等输入输出函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入。--------------- 第一: 要注
2010-05-30 00:06:00 581
转载 zoj 1227
自己的顺序DP居然超时,不得其解。拿别人代码学习之。#include #include #include using namespace std;bool mark[41][41][41][41];struct node{ int pair; int sq; int index[4]; int size;};int map
2010-05-21 15:25:00 779
转载 pku 1024
这是别人的代码,效率很高,在status上的第一页,看了人家的自己就不想写了,就写篇分析吧。。。#include const int gsize = 20 ; // 图的大小,实际上测试数据较弱,20就够了。int minPath , wallNo , W , H , Dx,Dy;struct Point { int val[2]; // pt[x][y].val[0]表
2010-05-19 20:21:00 443
转载 位操作技巧
检测一个无符号数是不为2^n-1(^为幂): x&(x+1) 将最右侧0位改为1位: x | (x+1) 二进制补码运算公式: -x = ~x + 1 = ~(x-1) ~x = -x-1 -(~x) = x+1 ~(-x) = x-1 x+y =
2010-05-19 07:22:00 343
原创 ZOJ 3335
用了自己的土方法,在每次更新窗口时,只用更新一列或者一行,找中位数时,用的是个256的数组,加到sum>=m*n/2+1,就行了。一开始tle,后来发现没EOF ——!代码如下:第一次写这么稀疏的代码。。。#include #include #define SIZE 500#define V 256int map[SIZE][SIZE];int mapp[S
2010-05-18 07:39:00 489
原创 1022
这道题我花了将近半天的时间读题— —!英文好真是太重要了。。。题目还行DFS,种子填充法,这是同学告诉我的,我之前只知道这叫floodfill。孤陋寡闻了。代码是0ms的,内存多了点。不知道那些超神的代码怎么弄的。对了,这个也是看了思路,背着写的— —!有意思的是,我把别人的代码交,是wa,我的就ac了。搞不懂了。#include #include using na
2010-05-15 17:47:00 341
原创 银行模拟
#include #include typedef struct { int occur; int type;} Event;typedef struct { int arrive; int duration;} QElem;typedef struct LNode{ Event event; struct LNode *ne
2010-05-15 15:54:00 432
原创 用set实现的极大团
#include #include #include using namespace std;#define MAXN 128int cnt,n,m;set N[MAXN+1];void BK(set R, set P, set X){ if(cnt>1000) return; if(P.empty()&&X.empty()) {
2010-05-15 15:42:00 591
原创 1020
本来想优化的,可是实在是想不出来怎么优化呀,92ms,囧死了。思路是看了别人的,就是DFS,中间没有剪枝吧,不对,有的,在放小正方形时,can函数判断一下,行不行,不行,剪の。#include #include #include #define MAXN 11#define MAXSIZE 41int s[MAXN], d[MAXSIZE], big_size, sma
2010-05-15 09:45:00 306
原创 1010
#include #include #define max(a,b) a>b?a:b#define min(a,b) a<b?a:b#define MAXA 4#define MAXN 100int stamp[MAXN], ans[2][MAXA], ans_num[4][MAXA], sign,begin_id, pre_begin=-1, all, f_kind, r
2010-05-14 14:14:00 260
转载 1011
#include #include #include using namespace std;int N, stick[64], tg_length, m, sum;bool used[64]={false}, done;void DFS(int start, int now_length, int cnt){ if(m==cnt) done
2010-05-11 23:20:00 385
转载 做个笔记 freopen
每当做ACM题目的时候都是写好程序然后运行,输入题目中所给的测试数据,但是调试往往不 是一次两次就能解决问题的。一般的题目还行。遇到像 Web Navigator 这样的有大量的输入的题目 就头痛了。而freopen函数就提供了一种非常简单的解决方法。 函数名:freopen 声明:FILE *freopen( const char *path, const ch
2010-05-11 23:13:00 375
原创 pku 2989
极大团问题:#include #include using namespace std;#define MAXN 129int n, m, cnt;struct f_int{ unsigned int a,b,c,d; f_int() { a=b=c=d=0; } void operator <<(int s) {
2010-05-11 15:26:00 541
转载 puj 图论分类
POJ 2449 Remmarguts Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest
2010-05-10 13:31:00 591
原创 1190
剪枝很重要呀。。。0MS靠RP。。。思路:搜索这是肯定的。主要是剪枝。前期有个预处理工作是找各层的极限。就是他不是说各层都是int的正整数吗,还有严格的递增关系。那每层就肯定有个下限或上限(随便怎么说了)。p_s, p_v就是做这工作的。看看函数吧:第一个参数是体积,第二个是高度,第三个是个半径,第四个是个层数,第五个是个表面积。初始的时候,半径给个最大值,高度也给了最大值。所
2010-05-08 11:29:00 426
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人