
算法
文章平均质量分 56
ctsas
这个作者很懒,什么都没留下…
展开
-
多重背包问题 可行性问题O(V N) 算法
问题:有n种不同大小的数字ai,每种各mi个。判断是是否可以从这些数字中选出若干个使他们的和为k。 算法一#include<stdio.h>int a[100],m[100];bool dp[100][100];int main(){ int n,w; scanf("%d%d",&n,&w); for(int i=0;i<n;i++) scanf("原创 2016-12-17 16:15:16 · 7505 阅读 · 1 评论 -
多重背包 O(W * sigma(logCi)) 算法
我们看看有没有办法变成更好的0-1背包问题。 思路1的意思是说我们把第i种物品看成单个的,一个一个的,我们想想二进制,任何一个数都可以由二的幂表示。我们试试看,比如Ci = 14,我们可以把它化成如下4个物品:重量是Wi,体积是Vi 重量是2 * Wi , 体积是2 * Vi 重量是4 * Wi , 体积是4 * Vi 重量是7 * Wi , 体积是7 * Vi注意最后我们最后我们不能取,重原创 2016-12-16 23:14:28 · 823 阅读 · 0 评论 -
背包问题入门 01背包和完全背包
01背包问题 有N种物品,每种物品的数量为C1,C2……Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数)。求背包能够容纳的最大价值。Input 第1行,2个整数,N和W中间用空格隔开。N为物品的种类,W为背包的容量。(1 <= N <= 100,1 <= W <= 50000) 第2 - N + 1行原创 2016-12-15 11:07:11 · 637 阅读 · 0 评论 -
学习笔记 划分数
有n个无区别的物品,将它们划分成不超过m组,求出划分方法数模M的余数。1<=m<=n<=1000 2<=M<=10000 作个笔记转载 2016-12-21 22:49:59 · 424 阅读 · 0 评论 -
【HZAU】1013 Yuchang and Zixiang ‘s maze 宽度优先搜索
Problem A: Yuchang and Zixiang ‘s mazeTime Limit: 2 Sec Memory Limit: 128 MB Submit: 907 Solved: 160 [Submit][Status][Web Board]DescriptionOne day , Yuchang and Zixiang go out of school to find so原创 2016-12-20 13:24:16 · 453 阅读 · 0 评论 -
RMQ算法
概述 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。这两个问题是在实际应用中经常遇到的问题,下面介绍一下解决这两种问题的比较高效的算法。当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂转载 2017-03-22 22:24:41 · 373 阅读 · 0 评论 -
主席树学习笔记
本文章大部分内容来自 Menci主席树是一种数据结构,其主要应用是区间第 kk 大问题。权值线段树传统的线段树用于维护一条线段上的区间,可以方便地查询区间信息。而如果将线段树转化为『权值线段树』,每个叶子节点存储某个元素出现次数,一条线段的总和表示区间内所有数出现次数的总和。利用权值线段树可以方便地求出整体第 kk 大 —— 从根节点向下走,如果 kk 小于等于左子树大小,说明第 kk 大在左子树原创 2017-04-21 21:10:24 · 575 阅读 · 0 评论