上一页 1 ··· 6 7 8 9 10
摘要: 今天我学习了STL中set的简单用法,set和map一样是一个用平衡二叉树写的模板,map可以有两个或多这个只配对,而set只有一个,当你只存放一个元素的时候,可以考虑用set,他的有点和map一样,查找很快。这是在网上看到的牛人学的我就copy过来了再次感谢!View Code 1 #include <iostream> 2 #include<set> 3 using namespace std; 4 int main() 5 { 6 int i,n,t; 7 set<int> st1; //创建一个int类型的set 8 set<int>:: 阅读全文
posted @ 2011-07-11 10:39 我们一直在努力 阅读(314) 评论(1) 推荐(0) 编辑
摘要: 同时也是 POJ2677双调欧几里德旅行商问题设dp[i][j]表示快的人走到i,慢的人走到j时的最小路程(j<i)从左到右对于每个点要么给走的快的人,要么给走的慢的人初始化dp[i][j]=INF状态转移方程:f[i+1][i]=min{f[i+1][i],f[i][j]+dis[j][i+1]}此前为f[i][j],当前点i+1分配给jf[i+1][j]=min{f[i+1][j],f[i][j]+dis[i][i+1]}此前为f[i][j],当前点i+1分配给i其中0<=j<i最后结果为min(f[n][i]+dis(i,n))其中i<nView Code 1 # 阅读全文
posted @ 2011-07-08 11:44 我们一直在努力 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=563解题思路这是一道经典的DP 我们可以这样想如果dp[n+1]表示购买前n+1的最小花费 那么dp[n]即购买前n件的最小花费和n+1是没有什么关系的,当时dp[n+1]和dp[n]是有关系的他们可以转化 dp[i]=min{p[i]*(a[i]-a[j]+10)+dp[j]||0<=j<i}p数组记录价格 a存总数。View Code 1 #include<iostream> 2 #include<cstring> 3 usi 阅读全文
posted @ 2011-07-07 21:29 我们一直在努力 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1328题目大意:在一条水平线之上有许多岛屿,在其之下是陆地,现在要在水平线上安装一些雷达(同时给你雷达能够覆盖的区域),让所有的岛屿都可以被雷达覆盖,求能够满足要求的雷达的最少数量,当有的岛屿不能覆盖时输出-1。做题思路:以每个岛屿为中心,给定的半径为半径画圆,有三种情况出现,与水平线有一个交点,有两个节点,没有交点(这种情况输出数出负一即可)前两种情况可以归为一类,既有交点。最后在水平线上会有许多区域,有的区域重合,这时在重合的地方放一个雷达可以同时覆盖多个区域。可以以每组的左交点为基准由小到大排序,这样以第一个的左端点对应的右 阅读全文
posted @ 2011-07-03 19:48 我们一直在努力 阅读(416) 评论(0) 推荐(0) 编辑
摘要: POJ1017题目链接:http://poj.org/problem?id=1017题目大意,该公司生产的产品有六种型号(规格)底面为1*1、2*2、3*3、4*4、5*5、6*6高位h,现在要把它们放入高度也为h,底面为6*6的包装箱中,问最少需要几个箱子。解题思路(贪心思想)由于一些产品的特殊性,4*4、5*5、6*6的每种产品要一个箱子,并同时有剩余空间,尽可能的在剩余空间中放入2*2的产品,之后放1*1的产品。这里的一个难点应在于3*3的产品的个数不定会有不同的结果,1、四的倍数时,没有剩余空间;2、除四余一时可以放5个2*2;3、除四余二时可以放3个2*2;4、除四余三时可以放一个2 阅读全文
posted @ 2011-07-03 19:16 我们一直在努力 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://59.69.128.200/JudgeOnline/problem.php?pid=216 题目意思很简单,就是求满足N= i * j + i + j (0 < i <= j) 的情况有多少组,由于数据量比较大,简单的模拟肯定超时,故可以观察等式,我们会发现可以在两边同时加上1,等式变为N+1=(i+1)*(j+1);你是否是这样想的设两个变量i,j两重循环,结果可想而知TLe,我们可以这样用(N+1)%(i+1)看是否可以整除,并且要注意这个限制i<=j,如果for循环使用(1到n的话)在里边加判断是不行的,还会超时,这还要我们观察,我们会发现其实没 阅读全文
posted @ 2011-06-29 12:06 我们一直在努力 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 期待的省赛并没有带来期待的结果,省赛比赛后我们心里都很难受,情绪也一直有点低落,其实我知道王老师心里比我们更难过;虽然它已成为过去,我们的成绩很不好,这是事实,但他给我们许多启示,许多反思,许多需要学习的东西。 客观原因我就不说了,说了那只是理由、只是借口,总体可以分为两个方面,一、是我们的实力不足,虽然我们做了那么多的练习,比起前几届有了很大的提高,可全省的其他学校呢,从出题我们可以看出,考的是越来越深越来越细,我们在承认自己进步的同时也要看清形势,不能别人在跑,我们在走,就自我感觉良好了,那样的目光有点短了,而之前的我们视乎就是;二、是在处理赛场的情绪(心态)上经验太少,在两小时过去了一. 阅读全文
posted @ 2011-05-29 11:26 我们一直在努力 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 期待的省赛并没有带来期待的结果,省赛比赛后我们心里都很难受,情绪也一直有点低落,其实我知道王老师心里比我们更难过;虽然它已成为过去,我们的成绩很不好,这是事实,但他给我们许多启示,许多反思,许多需要学习的东西。 客观原因我就不说了,说了那只是理由、只是借口,总体可以分为两个方面,一、是我们的实力不足,虽然我们做了那么多的练习,比起前几届有了很大的提高,可全省的其他学校呢,从出题我们可以看出,考的是越来越深越来越细,我们在承认自己进步的同时也要看清形势,不能别人在跑,我们在走,就自我感觉良好了,那样的目光有点短了,而之前的我们视乎就是;二、是在处理赛场的情绪(心态)上经验太少,在两小时过去了一. 阅读全文
posted @ 2011-05-27 20:40 我们一直在努力 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://59.69.128.200/JudgeOnline/problem.php?pid=308#include <iostream>#include <cstring>using namespace std;#define Max_len 1000char sz1[Max_len];char sz2[Max_len];int maxlen[Max_len][Max_len];int main(){ int i,j,n,k1,k2; cin>>n; while (n--) { memset(sz1,'\0',sizeof(s 阅读全文
posted @ 2011-05-24 21:16 我们一直在努力 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目大意,数字转换(26)注意细节数字到字母时 要特别注意整除的情况加个公式处理数字到字母 (n-1)%26+1;n=(n-1)/26;题目链接:http://59.69.128.200/JudgeOnline/problem.php?pid=303View Code 1 #include <iostream> 2 #include <cstring> 3 usingnamespace std; 4 int main() 5 { 6 int i,j,n,len,k,sum,m; 7 char a[1000]; 8 char b[1000]; 9 char c;10 ci 阅读全文
posted @ 2011-05-24 18:44 我们一直在努力 阅读(175) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10