- 浏览: 56092 次
- 性别:
- 来自: 南京
最新评论
-
gxy5088805:
擦。。我居然看到了你的帖!!!!
状态压缩动态规划
文章列表
1.算法
对每组数据进行求解。首先读入一组数据,通过一个结构体数组记录这组数据,然后将这组数据进行排序,排序算法是根据结构体中的s,若s相同则按照t排序。对排序后的数据一遍一遍的从左往右扫描,每扫描一遍可以完成多次不冲突的搬运,每次扫描的时间为10,一直扫描下去,直到所有的搬运完成,便可算出一共要的时间。
注意:题目中没有说对应的s和t有s<=t,所以如果s>t要调换位置。
2.实现
(1)同样用到了标准库qsort函数,在之前要include<stdlib>。
(2)结构体中的数据在内存中的位置是连续的,整个结构体的大小为结构体中各项数据大小的和。体现在在qsort的第 ...
1.算法
通过筛法找出10000以内所有的素数,存到数组里。然后对每个输入的数num,尝试用连续的比num小的素数,用num减去这个这些连续的素数,如果结果是零,则在结果上加上1,最后输出结果。
2.实现
(1)对于数组初始化的时候,int a[10]={1}只能对数组的第一个字符进行初始化,但是int a[10]={0}可将整个数组进行初始化。关于c++中数组初始化,具体参见http://hi.baidu.com/sicceer/blog/item/a1f3ba54dc87fb133a293595.html
(2)注意在函数传参数的时候的指针和引用的用法。
3.代码:
#include< ...
OJ上的一些水题(可用来练手和增加自信)
(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)
(2017 1218 2000 1046 1218 1003 1004 1005 1008 1013(枚举) 1207 1552 2105 2388 1316 2499 1163 1664)
初期:
一.基本算法:
(1)枚举. (poj1753,poj2965)
(2)贪心(poj1328,poj2109,poj2586)
(3)递归和分治法.
(4)递推.
...
1.算法
主要是理解题意,根据题目意思上下两行的字符能够进行一一配对,于是将上下两行的字符根据出现次数进行排序,然后进行一一的比较,如果匹配的话即可,答案为YES,否则为NO
2.实现
(1)读取字符串,采用c语言的读取方式,注意在之前要声明字符串的空间char str[100];
(2)调用库函数进行排序, qsort((void*)a,26,sizeof(int),com);第一个参数为排序的数组指针,第二个是数组大小,第三个是数组元素大小,第四个是比较函数。比较函数定义如下:
int com(const void* a,const void* b)
{
return *(int*)a-* ...