完全背包
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述
直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO
...
分类:
其他好文 时间:
2014-08-16 17:08:31
阅读次数:
172
苹果
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
ctest有n个苹果,要将它放入容量为v的背包。给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值。
输入
有多组测试数据,每组测试数据第一行为2个正整数,分别代表苹果的个数n和背包的容量v,n、v同时为0时结束测试,此时不输出。接下来的n行,每行...
分类:
移动开发 时间:
2014-08-16 16:31:49
阅读次数:
222
题目描述:
给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。
输入:
输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点t。n和m为0时输入结束。
(1
输出:
输出...
分类:
其他好文 时间:
2014-08-16 16:30:30
阅读次数:
183
前言:
以前所接触到的位图的思想都是以1位的形式去存储某个数出现的次数是1次还是0次。常见的例子不外乎在《编程珠玑》上的开篇例子里,1千万个数的排序统计,用1.25M的内存空间就可以达到遍历一遍输入数据而排序好的目的。这种思想是通用的么?也就是说,假如输入数据不再是0次或者1次,而是2次或者更多的时候,如何再次用上这种思想呢?请看下面题目
题目:
输入一个数组,数组有int类型整数若...
分类:
其他好文 时间:
2014-08-16 15:08:50
阅读次数:
160
链表排序,要求使用 O(nlgn) 时间,常量空间。使用归并的思路/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int ...
分类:
其他好文 时间:
2014-08-16 15:02:00
阅读次数:
162
单调递增子序列(二)
时间限制:1000 ms | 内存限制:65535 KB
难度:4
描述
给定一整型数列{a1,a2...,an}(0
如:1 9 10 5 11 2 13的最长单调递增子序列是1 9 10 11 13,长度为5。
输入
有多组测试数据(
每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的下一行里有n个整数,...
分类:
其他好文 时间:
2014-08-16 11:13:10
阅读次数:
240
回文字符串
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。
输入第一行给出整数N(0...
分类:
其他好文 时间:
2014-08-16 11:11:10
阅读次数:
189
题目描述
有n(n个小朋友站成一排(编号从0到n-1),每个小朋友有一个rating值,存放在ratings数组中。老师需要给他们分配糖果,每个小朋友至少需要一颗糖果,对于任意相邻的两个小朋友i和i+1,rating值大的必须比rating值小的分配的糖果多(rating相同的没必要分配一样多的糖果)。
请计算最少需要多少颗糖果,才能完成上述分配。
题目在线练习地址:http...
分类:
其他好文 时间:
2014-08-15 23:52:29
阅读次数:
422
题意:给你一个01矩阵,有两种操作:
第一种: 把a(i,j)的周围四个都异或一下
第二种: 把a(i, j)的周围四个和a(i,j)都异或一下
求把矩阵变成全0矩阵的最少操作次数
思路:如下图所示的轮廓线dp,逐格递推的,cur为当前决策的格子,红色线就是轮廓线,轮廓线以上的格子的操作状态都已经确定了,而对下面状态有影响的只有黄色格子,每个格子保存的是格子当前的数和它自己操作了多...
分类:
其他好文 时间:
2014-08-15 19:41:39
阅读次数:
227
有点郁闷的题目,给了2000ms,但是n,m的范围已经是5000了,5000 * 5000一般在别的OJ已经是超了2000ms,一开始不敢敲,看了下别人有n*m的潜逃循环,原来CF的机子如此的强大,一开始题意没看清错了,原来任意行可以交换,列不行
那就先dp出 每一行的 每一个位置包括它本身以及前面的连续出现1的长度,然后再对列进行处理,因为列是不能变的,所以对应列是固定的,那么就对列枚举,然后...
分类:
其他好文 时间:
2014-08-15 16:11:09
阅读次数:
232