2012年5月25日

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 矮人狙击手! 阅读(645) 评论(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 矮人狙击手! 阅读(277) 评论(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 矮人狙击手! 阅读(583) 评论(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 矮人狙击手! 阅读(228) 评论(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 矮人狙击手! 阅读(307) 评论(0) 推荐(0) 编辑

导航