- 博客(32)
- 资源 (2)
- 收藏
- 关注
原创 uva 437 The Tower of Babylon
题意:用砖块建塔,直线向上叠,地下砖块要长宽都比上面砖块大,严格递减dp一下即可博主有两种做法结构体做法#include #include #include #include using namespace std;struct Cube{ int l,w,h; Cube(int ll = 0,int ww = 0,int hh = 0) {
2016-04-28 11:27:12 292
原创 c++如何对自定义结构体排序
struct内部排序#include#includeusing namespace std;typedef struct ValuePerWeight //定义结构体{ double vw; int i; bool operator <(const ValuePerWeight &other)const //升序排序 { return
2016-04-28 10:27:10 6739 2
原创 uva 11157 Dynamic Frog
题意:一只青蛙要从河的左岸到右岸找东西,找完东西要返回,河中间有呈直线的踮脚石,有两种石头,一种大石头,可以多次踩踏不沉,一种小石头,只能踩一次。解题思路:青蛙往返可以看作两只青蛙一起过河,求青蛙最大跨度#include #include #include //#define Tusing namespace std;struct jump{ int cnt;
2016-04-28 09:28:41 477
原创 uva 11100 The Trip, 2007
装箱子,最大数量取决于同种箱子的个数,每个箱子只能装一个箱子进去#include #include #include #include //#define Tusing namespace std;int main(){ #ifdef T freopen("in.txt","r",stdin); freopen("out.txt","w",stdout)
2016-04-27 23:08:49 256
原创 uva 10020 Minimal coverage
题意:给你N条线段(Li,Ri)映射到x轴上,然后让你用其中的几条线段(条数最少)覆盖【0,M】方法:利用贪心思想。对线段按照长度进行排序,在这里可以在输入的时候,对线段进行选择,如果RiM这直接删除。然后每次在选择线段的时候,尽可能的选择长的,这里用到了贪心思想#include #include #include using namespace std;struct
2016-04-27 20:47:56 282
原创 uva 10714 Ants
蚂蚁相遇等效蚂蚁忽视碰撞体积穿插而过第一个是表示几组N然后是长度n及蚂蚁数量m接下来是m只分别距离最左边多长#include using namespace std;int main(){ int N; scanf("%d",&N); while(N--) { int n,m; int temp;
2016-04-27 18:38:45 247
原创 uva 102 Ecological Bin Packing
三个杂色箱子分放不同色瓶子#include #include using namespace std;int main(){ char ch[6][4]={"BCG","BGC","CBG","CGB","GBC","GCB"}; int temp[6][9] = { 0,1,1, 1,1,0, 1,0,1, 0,1,1, 1,0,1, 1,1,0,
2016-04-27 17:49:20 306
原创 uva 10154 Weights and Measures
小乌龟的题。每个乌龟有自身重量又有可承载的重量#include #include #include #include using namespace std;const int MAXn = 6000;const int MAX = 0x7ffffff;struct Turtle{ int wei,stg;}t[MAXn];int w,s,n,dp[
2016-04-26 23:18:50 318
原创 lower_bound()和upper_bound()返回值
函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下:一个数组number序列为:4,10,11,30,69,70,96,100.设要插入数字3,9,111.pos为要插入的位置的下标则pos = lower_bound( number, num
2016-04-25 09:33:12 672
原创 uva 497 Strategic Defense Initiative
求最长公共子序列由于这道题简单,方法多样,博主选了dp做博主为朱老师的弟子#include #include #include #include //#define Tint num1[100000];int num2[100000];int num3[10000][10000];int m;char ch[250];void initial(){ mem
2016-04-25 09:21:05 596 1
原创 uva 10664 Luggage
这一道题和uva562类似 ,题意是:问能否平分行李博主为朱老师的弟子#include #include #include #include using namespace std;const int Max = 102;int coin[Max], dp[Max*500];int sum;int m, n;char ch;void inital(){ mems
2016-04-24 18:47:06 620
原创 uva 10036 Divisibility
给你N个数,在N个数中加入加号或减号,判断能否组成整除K的组合博主为朱老师的学生#include #include #include #include int num[10010];int dp[10010][110];int main(){ int M,N,K; while ( ~scanf("%d",&M)) while ( M --
2016-04-24 17:32:05 349
原创 uva 624 CD
dp流,统计所有可能的情况,并且标记博主为朱老师的学生#include#includeconst int maxn=10001;int n,m,a[30],dp[maxn];bool vis[maxn][30];void inital(){ memset(vis,0,sizeof(vis)); memset(dp,0,sizeof(dp));}int ma
2016-04-24 15:50:12 214
原创 uva 562 Dividing coins
0 1背包问题,遍历一遍就行,不会超时博主为朱老师的学生#include #include #include #include using namespace std;const int Max = 102;int coin[Max], dp[Max*500];int sum;void inital(){ memset(dp, 0, sizeof(dp));
2016-04-24 14:44:34 280
转载 C或C++ 求两个数组相同元素个数
转自:http://blog.csdn.net/beyond_cn/article/details/9981561问:两个数组f[] g[] 长度不定 元素从大到小排列好了 每个数组中元素各不相同 请问如何编程能求两个数组相同元素个数 例如f[4]={1,3,4,7} g[5]={2,3,5,7,8} 有2个相同返回2 并求时间复杂度 最好时间复杂度小点 就是运算次数越少越好答:#includ
2016-04-22 07:36:06 3066
转载 #include<vector> 的用法
转自:http://blog.csdn.net/romantic_love/article/details/7938827C++ vector 用法(#include )标准库Vector类型使用需要的头文件:#include Vector:Vector 是一个类模板。不是一种数据类型。 Vector是一种数据类型。 一、
2016-04-22 07:34:00 9310
原创 uva 10074 Take the Land
ps:博主为朱老师学生这是一道和uva 108类似的题,值得注意的是最大空地初始为0#include #include #include //#define Tint i,j,k,N,M;int Max;int p;int num1[200][200],num3[200][200];int temp[200];void inital(){ memset(num1,0
2016-04-22 06:44:50 568
原创 uva 108 Maximum Sum
ps :博主为朱老师学生这是一道Maximum sum题,矩阵转换为以为一维最大#include #include #include #define Tint i,j,k,N;int Max;int p;int num1[200][200],num3[200][200];int temp[200];void inital(){ memset(num1,0,sizeo
2016-04-22 06:40:09 263
原创 uva 10684 The jackpot
一道大水题。。。。。。。。#include #include #include using namespace std;int num[10010],sumup[10010];int main(){ int n,i,ans; while(~scanf("%d",&n)&&n) { //ans = 0; for(i=1; i <= n; ++i) { scanf
2016-04-15 14:13:22 307
原创 uva 1396 Slim Span
Kruskal 算法注意数组不要越界,尽量开大点,其他没什么注意,这种算法的水题#include #include #include #include //#define T///////////////using namespace std;const int M = 220;int f[M];struct edge{ int x; int y;
2016-04-15 10:05:31 232
转载 关于创建临界区的问题
转自:http://bbs.csdn.net/topics/390535912#include #include DWORD WINAPI Fun1Proc( LPVOID lpParameter );DWORD WINAPI Fun2Proc( LPVOID lpParameter );int tickets=100;CRITICAL_SECTION g_cs;void
2016-04-14 13:13:10 621
原创 uva 11129 An antiarithmetic permutation
给一个正整数n,构造一个0...n-1的排列,使得这个排列的任何一个长度大于2的子序列都不为等差数列。#include int pre[10005],last[10005];int n;void divide_conquer(int l,int r){ if(l + 1 >= r) return ; int i, j; for(i = l; i
2016-04-13 20:24:38 247
转载 C语言各种数据类型取值范围
转自:http://blog.csdn.net/abaloon/article/details/8173552速查表:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 Bytes)int -2147483648 ~ +2147483647 (4 B
2016-04-13 14:52:32 485
原创 uva 10245 The Closest Pair Problem
这道题是给大家寻开心的,灵光一闪,你就会了,我写这份报告也是寻开心的。。。。。。。。。。。。。。。我就笑了。。。。。你可以先做这一道玩玩。。。哒哒哒。。。。啊啦上海侬#include #include struct point{ double x; double y;};/*struct edge{ point a; point b; doub
2016-04-12 16:09:03 262
转载 memset()函数及其作用
功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void *memset(void *s, char ch, unsigned n); 程序例: #include #include #include int m
2016-04-09 20:50:57 314
原创 uva 574 Sum It Up
这一道题 ,我本以为按常规方法做,以为只要比较前一组输出就行,可后来调试发现,输出竟然与上上一组重复,所以我重新写了好思路形成的代码。代码如下:#include #include #include #include #include #define TESTusing namespace std;int sum1[13],sum2[13],sum3[13],sum4[13];
2016-04-09 20:37:15 546
转载 输入输出重定freopen
使用的理由(范围):如果输入数据很庞大,需要一次又一次的重新输入和调试时可采用本函数。freopen ()函数:1.格式FILE * freopen ( const char * filename, const char * mode, FILE * stream );2.参数说明filename: 要打开的文件名mode: 文件打开的模式,和fop
2016-04-09 17:02:12 767
转载 sort用法
C++sort函数的用法C++sort()函数的用法近来看了c++标准库这本书,学到了很多,就把这其中的一点C++sort()函数的用法写下来和大家分享吧!(一)为什么要用c++标准库里的排序函数Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复
2016-04-09 15:11:22 574
原创 uva 216 Getting in Line
这是一道有意思的题,当然一开始看,感觉挺复杂的,后来用了algoritnm中的next_permutation一下子简单化了#include #include #include #include using namespace std;struct point{ double x,y;};struct Dis{ point a,b; double d
2016-04-09 14:42:47 212
原创 uva 166 Making Change
博主有一个通熟易懂的方法解这道题,希望大家喜欢,背包简化,不用数组标记也可以做#include #include #include #include using namespace std;int coin[6] = {1,2,4,10,20,40};int num[6];int store(int n){ int ans = 0; for(int i = 5;
2016-04-09 00:44:03 620
原创 uva 122 Tree Summing
这是一道比较经典的回溯法的水题,运了二叉原理#include #include using namespace std;int back_tracking(int n,int *t);char input();char input(){ char ch; scanf("%c",&ch); while(ch ==' '||ch == '\n') {
2016-04-09 00:35:24 246
原创 uva 167 The Sultan's Successors
这是一题八皇后的题,挺经典的。给你一个k,表示有k组测试,接下来有8x8列,找出 最大皇后位置和最大
2016-04-09 00:28:13 330
程序猿开发idea快捷键.docx
2020-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人