acm
文章平均质量分 55
csau
本账号已注销
展开
-
背包问题九讲[转载]
背包问题九讲P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转转载 2016-07-28 11:14:18 · 273 阅读 · 0 评论 -
背包相关问题
0-1背包相关问题HDU 2602Problem Description Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he w原创 2016-07-26 21:52:01 · 271 阅读 · 0 评论 -
利用BFS、队列求解迷宫问题
利用BFS、队列求解迷宫问题POJ 3984Description 定义一个二维数组: int maze【5】【5】= { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以原创 2016-07-22 14:46:04 · 2762 阅读 · 0 评论 -
折半查找(二分法)
二分法查找(对有序的数列才可以使用)//二分法查找必须是对有序的数列#include<stdio.h>#define n 20int main(){ int a[n]={2,3,5,7,8,11,13,16,17,23,25,31,34,37,38,40,42,47,48,50} ; //定义区间内有十个整数 int x,h,l,m; //x为要输原创 2016-07-15 19:53:19 · 495 阅读 · 0 评论 -
结构体sort快速排序
结构体sort快速排序#include<stdio.h>#include<algorithm>using namespace std;struct p{ int a; int b;}q[100];bool cmp(p al,p bl){ return al.a>bl.a;}int main(){ int n; scanf("%d",&n);原创 2016-07-14 09:50:35 · 4046 阅读 · 1 评论 -
动态规划(DP算法)
动态规划(四种DP算法)///最长递增子序列 (LIS)///a[i]表示给定序列的第i个元素的值///dp[i]表示以第i个元素结尾的最长递增子序列的长度for(i=1;i<=n;i++) dp[i]=1;for(i=1;i<=n;1++) for(j=1;j<=i-1;j++){ if(a[i]>a[j]) dp[i]=max(dp[i],dp[j]+1)转载 2016-07-29 20:54:50 · 431 阅读 · 0 评论 -
快速幂取模(转载)
快速幂取模算法 在网站上一直没有找到有关于快速幂算法的一个详细的描述和解释,这里,我给出快速幂算法的完整解释,用的是C语言,不同语言的读者只好换个位啦,毕竟读C的人较多~ 所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余)。在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快、计算范围更大的算法,产生了快速幂取模算法。[有读者反映在讲快速幂部转载 2016-08-05 22:17:41 · 304 阅读 · 0 评论