05 2012 档案

c++ vector
摘要:转自:http://www.cnblogs.com/jjzhou1988/archive/2008/11/30/1344306.htmlvector的用法vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.用法:1.文件包含:首先在程序开头处加上#include<vector>以包含所需要的类文件vector还有一定要加上using namespace std;2.变量声明:2.1 例:声明一个int向量以替代一维的数组:vector <int> 阅读全文

posted @ 2012-05-29 10:32 矮人狙击手! 阅读(446) 评论(0) 推荐(0)

fopen()函数的使用
摘要:定义函数 FILE * fopen(const char * path,const char * mode);函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。 mode有下列几种形态字符串: r 打开只读文件,该文件必须存在。 r+ 打开可读写的文件,该文件必须存在。 rb+ 读写打开一个二进制文件,只允许读写数据。 rt+ 读写打开一个文本文件,允许读和写。 w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度... 阅读全文

posted @ 2012-05-29 10:24 矮人狙击手! 阅读(18559) 评论(0) 推荐(2)

ofstream和ifstream详细用法(-)
摘要:转自:http://panpan.blog.51cto.com/489034/101625ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(<<) 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<'\n';就表示把字符串"Write 阅读全文

posted @ 2012-05-25 23:33 矮人狙击手! 阅读(671) 评论(0) 推荐(1)

poj3262
摘要:正确的应该按照D/T从大到小排序。证明如下:任取两头牛i和j,这两头牛需要的总时间为2*(Ti+Tj),在此时间中其他牛吃的花是一定的,因此只要考虑这两头牛就可以了。若先送牛i,则牛j吃掉的花为2*(Ti*Dj),若先送牛j,则牛i吃掉的花为2*(Tj*Di),我们只要在两者里取个小的就可以了。注意到T,D是大于0的,因此只要在DJ/TJ和DI/TI里取一个小的。证毕。#include <iostream>#include <algorithm>using namespace std;struct node{ int t; int d; //int state;};in 阅读全文

posted @ 2012-05-25 16:20 矮人狙击手! 阅读(286) 评论(0) 推荐(0)

hdu1789
摘要:链接:http://acm.hdu.edu.cn/showproblem.php?pid=1789典型的贪心问题,水题(又一次把1000看成了100,唉,wa一次)#include <iostream>#include <algorithm>using namespace std;struct homework{ int deadline; int score; int state;};int cmp(homework a,homework b){ return a.score>b.score;}homework a[1005];int visit[1005];i 阅读全文

posted @ 2012-05-25 16:04 矮人狙击手! 阅读(594) 评论(0) 推荐(0)

hdu2037
摘要:链接:http://acm.hdu.edu.cn/showproblem.php?pid=2037这道题给我的启示是排序的问题,刚开始自己做的时候我对开始时间进行排序,造成了必须两重循环才能结束,采用如下排序,一重循环即可。#include <iostream>#include <algorithm>using namespace std;struct view{ int start; int end;};int cmp(view a,view b){ if(a.end==b.end) return a.start<b.start; else return a.e 阅读全文

posted @ 2012-05-25 09:05 矮人狙击手! 阅读(235) 评论(0) 推荐(0)

poj1323
摘要:题目大意:n个人在玩牌,每个人有m张牌,于是就有n*m张牌(每张牌都有一个值,介于1到n*m之间,不重复),然后进行m轮游戏,每轮每个人都出一张牌,牌最大的那个人就赢了,然后给出n和m,以及你的m张牌,问你最多能赢几轮?#include <iostream>using namespace std;int a[1010];int n,m;int hava(int i){int j;for(j=0;j<m;j++)if(a[j]==i) return 1;return 0;//这里千万要注意,不可写为else return 0,若这样写,编译器把if,else视为一个快语句。切记 阅读全文

posted @ 2012-05-25 01:49 矮人狙击手! 阅读(313) 评论(0) 推荐(0)

poj1328
摘要:链接:http://poj.org/problem?id=1328典型的贪心算法这里是一些大牛的分析,小弟不才,借鉴用下,有些不是很理解正确的算法是:要考虑把雷达站放到哪个位置使得包含雷达的区间最多!写算法的时候要注意,按海岛的横坐标排序(纵坐标是跟随横坐标,但不能对排序构成任何影响)后,第一个雷达建立在区间的右端,然后依次判断每个区间的左端点,如果在最新建立的雷达右面,那么肯定需要一个雷达,而且也建在区间右端。如果左端点在雷达左面,这个时候要考虑区间的右端在雷达的左面还是右面,如果是右面,那雷达位置就不变,如果在左面,那现在的雷达是覆盖不了的,所以要把雷达放在该区间的右端点!因为这样同时不但 阅读全文

posted @ 2012-05-18 18:23 矮人狙击手! 阅读(364) 评论(0) 推荐(0)

多重背包问题
摘要:转自:http://www.cnitblog.com/luckydmz/archive/2008/08/06/47719.aspx(背包九讲,貌似分组背包出了点问题)题目有N种物品和一个容量为V的背包。第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本算法这题目和完全背包问题很类似。基本的方程只需将完全背包问题的方程略微一改即可,因为对于第i种物品有n[i]+1种策略:取0件,取1件……取 n[i]件。令f[i][v]表示前i种物品恰放入一个容量为v的背包的最大权值,则:f[i][v]=max{f 阅读全文

posted @ 2012-05-16 01:40 矮人狙击手! 阅读(5378) 评论(1) 推荐(1)

完全背包问题
摘要:转自:http://www.cnitblog.com/luckydmz/archive/2008/08/06/47719.aspx题目有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这个问题非常类似于01背包问题,所不同的是每种物品有无限件。也就是从每种物品的角度考虑,与它相关的策略已并非取或不取两种,而是有取0件、取1件、取2件……等很多种。如果仍然按照解01背包时的思路,令f[i][v]表示前i种物品恰放入一个容量为v的背包的最大权值。仍然可以按照每种物品 阅读全文

posted @ 2012-05-16 01:39 矮人狙击手! 阅读(200) 评论(0) 推荐(0)

关于scanf()输入
摘要:#include <stdio.h>int main (){ int i; unsigned int j; char s[5]; scanf("%d %x %5[a-z] %*s %f",&i,&j,s,s); printf("%d %d %s\n",i,j,s); return 0;}解释如下:%5[a-z] ==> %[123]等同于%[231],等同于%[321]……,列表中的顺序是无所谓的;%[123]也等同于%[1-3]或%[3-1],也就是“1至3”,对于连续的字符列表这样写就很简单,比如%[a-z]等同%[ 阅读全文

posted @ 2012-05-15 00:08 矮人狙击手! 阅读(306) 评论(0) 推荐(0)

c/c++中保留两位有效数字
摘要:#include<iostream>#include<iomanip>using namespace std;void main(){ float f,c; cout<<"请输入华氏温度:"; cin>>f; c=5*(f-32)/9;cout<<setiosflags(ios::fixed);cout.precision(2); //输出小数点后两位cout<<"摄氏温度等于:"<<c<<endl;}四舍五入保留两位数当然在c语言中那就更简单了,直接用pri 阅读全文

posted @ 2012-05-14 23:49 矮人狙击手! 阅读(12094) 评论(0) 推荐(0)

em和px
摘要:转自:http://uitony.com/?p=35em和px2008-04-14 11:30:45类别:视觉设计在这系列视觉设计的文章间隙插一篇字体单位的文章。前文说了,字体单位应该用em而不用px,原因简单来说就是支持IE6下的字体缩放,在页面中按ctrl+滚轮,字体以px为单位的网站没有反应。px是绝对单位,不支持IE的缩放,em是相对单位。我在调整本blog的时候,发现不仅仅是字体,将行距(line-height),和纵向高度的单位都用em。保证缩放时候的整体性。怎么将px换成em呢?特地转jorux06年12月的一篇文章,因为中文站用px的太多了,如果你是对代码不敏感的纯设计师,可以 阅读全文

posted @ 2012-05-12 12:36 矮人狙击手! 阅读(242) 评论(0) 推荐(0)

HTTP协议与HTML表单(再谈GET与POST的区别)
摘要:转自:http://blog.csdn.net/darxin/article/details/4944225HTTP的GET/POST方式有何区别?这是一个老生常谈的问题,但老生常谈的问题往往有一些让人误解的结论。本文将带您浅尝HTTP协议,在了解HTTP协议的同时将会展示许多被人们忽视的内容。在掌握了HTTP协议的过程中我们将自然而然地了解到GET与POST的本质区别。HTTP请求从使用者的角度看,一个HTTP请求起始于用户端浏览器上输入的一个URL地址;网页中的一个超链接;提交一个HTML表单。但本质上说,一个HTTP请求起始于用户端向HTTP服务器发送的一个URL请求。一个标准的HTTP 阅读全文

posted @ 2012-05-11 00:42 矮人狙击手! 阅读(2976) 评论(1) 推荐(0)

out.println()方法与<%=%>表达式的区别
摘要:转自:http://www.chineselinuxuniversity.net/articles/30223.shtmlout.println()方法与<%=%>表达式输出功能一样,如果想知道那种方式更加方便,则可通过一个范例来说明: 如:打印100*100表格 第一种:使用out.println() scriptletdemo1.jsp : <% out.println("<table>"); for(int i=0;i<100;i++){ out.print("<tr>"); for(int j=0; 阅读全文

posted @ 2012-05-10 01:36 矮人狙击手! 阅读(2610) 评论(0) 推荐(0)

各种html标签
摘要:一个好的网站:http://www.w3school.com.cn/tags/tr标签 -- 代表HTML表格中的一行tr标签是成对出现的,以<tr>开始,</tr>结束属性Common-- 一般属性align-- 代表行的水平对齐方式(left(左对齐) | center(居中对齐) |right(右对齐) | justify)(此属性应该使用CSS实现)valign-- 代表行的垂直对齐方式(top(顶部对齐) | middle(中部对齐) | bottom(下部对齐) | baseline(基线对齐))(此属性应该使用CSS实现)tr,是"table r 阅读全文

posted @ 2012-05-10 01:34 矮人狙击手! 阅读(310) 评论(0) 推荐(0)

关于c语言struct和typedef
摘要:转自:http://hi.baidu.com/gubuntu/blog/item/70d8d16079535eda8cb10d8e.htmlC++中使用:struct test{ int x, y;};就可以定义一个名为test的结构体,但C中很可能编译通不过。C语言并不支持在struct后使用标示符定义结构体的名字,test将会被忽略,这相当于定义了一个没有名字的结构体。C里面 struct test 这才是一个结构体的名字,声明一个对象时,struct是不能漏的若定义一个该结构体对象test mt; 将会提示未定义的test错误信息。所以,在C语言中,一般使用typedef来定义结构体,上 阅读全文

posted @ 2012-05-08 00:26 矮人狙击手! 阅读(5468) 评论(0) 推荐(0)

c显示时间
摘要:说明:此函数获得的tm结构体的时间,是已经进行过时区转化为本地时间。 用 法: struct tm *localtime(const time_t *clock); 返回值:返回指向tm 结构体的指针.tm结构体是time.h中定义的用于分别存储时间的各个量(年月日等)的结构体.#include<time.h> #include<stdio.h> int main() { struct tm *t; time_t tt; time(&tt); t=localtime(&tt); printf("%4d年%02d月%02d日 %02d:%02d: 阅读全文

posted @ 2012-05-07 23:43 矮人狙击手! 阅读(314) 评论(0) 推荐(0)

导航