自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 sicily 2014.Dairy Queen

类似于完全背包或者可以取无限个的硬币问题. #include #include using namespace std; int dp[301]; int v[9]; int main() { int n; while(cin >> n) { memset(dp,0,sizeof(dp)); memset(v,0,sizeof(v)

2014-01-06 13:06:36 695

原创 sicily 1077.Cash Machine

将多重背包问题转化成01背包.使用模板... //这是一个多重背包问题,用模板转化成01背包 #include #include #include using namespace std; int dp[100001]; int num[1001];//每一种物品的数目 int v[1001];//每一种物品的价值 int V,N; //此题中每个物品的价值和重量是一样的 void

2014-01-05 17:32:55 370

原创 sicily 1782.Knapsack

//转化成01背包问题 #include #include #include using namespace std; int dp[10001]; int main() { int caseNum; cin >> caseNum; while(caseNum--) { int n,m;//n为物品个数,m为背包容量 cin >> n >> m; int w[1001

2014-01-05 15:29:02 597

原创 sicily 1342. 开心的金明

//转化成01背包问题 #include #include #include using namespace std; int dp[30001]; int main() { int N,m; while(cin >> N)//相当于背包中能承载的重量 { cin >> m;//相当于物品个数 int w[26],v[26];//w相当于背包中每个物品的重量,v为价值

2014-01-05 15:05:54 545

原创 sicily 1564.HOUSING

//本题题意:有m个人,无数个房间,每个房间至少为5人,求一共有多少分配方案//转化成能取无数次的硬币问题或者完全背包问题//1.转化成硬币找零问题:有5……m面额的硬币,每个硬币取的次数不受限制,求组成一个面额为m的方案个数.//2.转化成完全背包问题:背包大小为m,物品依次为5……m的,每个物品取的次数不受限制,求这些物品刚好放满背包的方案数.#include #include #includ

2014-01-05 12:27:10 475

转载 动态规划之01背包问题

转载于:http://blog.sina.com.cn/s/blog_6dcd26b301013810.html 首先是问题描述:给定n种物品和一背包,物品i的重量是wi,其价值是pi,背包的容量是M,问如何选择装入背包中的物品总价值最大? 可以这样理解:背包的背负有上限,因此在这个上限内尽可能多的装东西,并且价值越多越好。 在这里我之想讨论动态规划解决这个问题的详细过程。

2014-01-04 19:57:25 376

原创 sicily 1158.Pick numbers

解题思路:原来以为用动态规划可以做,但是题目要求是最小的非负整数,动态规则中有可能为负数.所以采用深搜或者广搜都行. #include #include using namespace std; int m,n; int matrix[11][11]; bool visited[11][11]; int result; void dfs(int x,int y,int sum) {

2014-01-04 15:38:45 372

原创 sicily 1091.Maximum Sum

解题思路:动态规划.需要学习动态规划的转移方程.最大连续子段和 #include #include using namespace std; #define N 50001 int d_left[N];//如d_left[i]记录的是从左往右到i位置的最大连续子段和 int d_right[N];//如d_right[i]记录的是从右往左到i位置的最大连续子段和 int r_left[N

2014-01-04 13:43:06 300

原创 sicily 1048. Inverso

这里借鉴了Ciel的思想. //用一个9位的二进制数来表示网格信息,即0表示对应位为白色,1为黑色. #include #include #include #include using namespace std; struct point{ int step; string s; point(int step) { this->step

2014-01-03 21:47:42 713

原创 sicily 1817.校歌手大奖赛

解题策略:排序去点vector的头和尾即可,不用考虑最高分或者最低分是否有重复. 注意:用cin和cout会超时- - #include #include #include #include using namespace std; bool cmp(int a,int b) { return a > b; } int main() { int caseNum; cin >>

2014-01-02 21:12:54 447

原创 sicily 1818.成绩转换

解题策略:用map可以实现映射,并对相同元素更新! #include #include #include using namespace std; int main() { int caseNum; cin >> caseNum; while(caseNum--) { int m,n; cin >> n >> m; map maps; string name =

2014-01-02 20:41:00 373

原创 sicily 1500.Prime Gap

题意:给定一个整数,求这个离这个整数最近的两个素数(一大一小)之间的距离(差). 解题策略:用筛法求素数表 #include #include using namespace std; #define MAXLEN 1299710 int isPrime[MAXLEN]; int prime[MAXLEN]; void sieve(int arr[], int len)//筛法求素数 {

2014-01-02 20:13:57 1123

原创 sicily 1561.PRIME

解题思路:打表,用筛法求素数. #include #include using namespace std; #define MAXLEN 110010 int isPrime[MAXLEN]; int prime[10000]; void sieve(int arr[], int len)//筛法求素数 { int i, j; int sqrt_len = sqrt(do

2014-01-02 19:37:41 383

原创 sicily 1814.日期计算问题

解题思路:对每个日期都计算其到0年0月0日的天数,然后两者相减. #include #include using namespace std; int longmonth[12]={31,29,31,30,31,30,31,31,30,31,30,31};//闰年每月的天数 int shortmonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};/

2014-01-02 17:34:57 355

原创 sicily 1014. Specialized Four-Dig

#include #include #include using namespace std; int sum(string s)//求每位数相加之和 { int result = 0; for(int i = 0;i < s.length();i++) { if(s[i] >= '0' && s[i] <= '9') result = result + s[i] - '0

2014-01-02 16:53:15 431

原创 sicily.1813 M进制数问题

解题思路:先将数转换成十进制进行处理,再将结果转换成M进制数 #include #include #include using namespace std; int change(string s,int m) { int result = 0; for(int i = 0;i < s.length();i++) { if(s[i] >= '0' && s[i] <= '9')

2014-01-02 16:30:22 400

原创 sicily. 1815 计算两点间的距离

#include #include #include using namespace std; int main() { int caseNum; cin >> caseNum; while(caseNum--) { double x1,y1,x2,y2; cin >> x1 >> y1 >> x2 >> y2; double dis = sqrt((x1 - x2)

2014-01-02 15:20:49 272

原创 sicily 1298.数制转换

#include #include #include using namespace std; //一个数被3整除后的余数为,-2,-1,0,1,2,在本题中,-2和2太小和太大,要进行处理。 int main() { int n; while(cin >> n) { if(n == 0) cout << 0; else { vector data; w

2014-01-02 14:54:01 456

数字图像处理第三版答案

数字图像处理第三版答案(冈萨雷斯版)

2014-05-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除