自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CASIA中文手写体字库gnt文件格式解析(python)

最近在学python,刚好毕设要用到一些手写体字库。而CASIA将手写体图片封装在gnt文件中。所以用python练手来解析gnt文件。#!/usr/bin/pythonimport structimport Imageimport oscount = 0path = 'C:/Users/Administrator/Desktop/HandWriting/test_data/'

2014-12-31 14:26:27 11014 14

原创 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 687

原创 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 360

原创 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 570

原创 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 537

原创 sicily 1564.HOUSING

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

2014-01-05 12:27:10 467

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

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

2014-01-04 19:57:25 367

原创 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 363

原创 sicily 1091.Maximum Sum

解题思路:动态规划.需要学习动态规划的转移方程.最大连续子段和#include #include using namespace std;#define N 50001int 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 289

原创 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 697

原创 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 434

原创 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 361

原创 sicily 1500.Prime Gap

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

2014-01-02 20:13:57 1111

原创 sicily 1561.PRIME

解题思路:打表,用筛法求素数.#include #include using namespace std;#define MAXLEN 110010int 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 371

原创 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 341

原创 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 415

原创 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 389

原创 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 261

原创 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 444

原创 sicily 1325. Digit Generator

#include using namespace std;int main(){ int caseNum; cin >> caseNum; while(caseNum--) { int number; cin >> number; int count = 0, temp = number; while (temp > 0)//计算出输入的数字的位数 { te

2013-12-31 21:01:45 334

原创 sicily 1154. Easy sort

使用优先队列实现#include #include using namespace std;int main(){ int caseNum; cin >> caseNum; while(caseNum--) { priority_queue, greater > q;//优先队列,优先级高的先pop int n; cin >> n; for(int i = 0

2013-12-31 19:45:17 411

原创 sicily 1510. Mispelling

#include #include using namespace std;int main(){ int caseNum; cin >> caseNum; int flag = 1; while(caseNum--) { string s; int index; cin >> index >> s; cout << flag++ << " "; for(i

2013-12-31 19:35:55 345

原创 sicily 1087.Funny game

#include using namespace std;int main(){ int caseNum; while(cin >> caseNum && caseNum != 0) { if(caseNum == 1 || caseNum == 2)//如果为1或者2,肯定是先下手的Alice赢 cout << "Alice" << endl; else if(cas

2013-12-31 19:26:48 514

原创 sicily 1795.Table tennis

#include using namespace std;int main(){ int caseNum; cin >> caseNum; while(caseNum--) { int n; int x; int y; cin >> n; int score = 0; for(int i = 0;i < n;i++) { cin >> x >>

2013-12-31 19:02:28 441

原创 sicily 1147.谁拿了最多奖学金

#include #include #include #include #include using namespace std;int const N = 101;struct student{ string name; int avscore;//期末平均成绩 int score2;//班级评议成绩 bool isboss;//是否是学生干部 bool west

2013-12-31 18:41:35 342

原创 sicily 1798.Aclie and Bob

哈哈哈!刚开始用BFS结果存储空间不够- -我用的是bool,即使一个二维的10000数组也不会超过32MB好吧- -。就是为了使用下面的算法才设置这么个不合理的条件。在bfs中发现了规律,偶数就是Alice赢,奇数就是Bob赢。。#include using namespace std;int main(){ int size; while(cin >> size

2013-12-31 17:10:34 502

原创 sicily 1324.Score

#include #include #include using namespace std;int main(){ int caseNum; cin >> caseNum; while(caseNum--) { int flag = 0; string s; cin >> s; int score = 0; for(int i = 0;i < s.len

2013-12-31 16:30:16 340

原创 sicily 1232.Electrical Outlets

#include #include using namespace std;int main(){ int caseNum; cin >> caseNum; while(caseNum--) { int number,trips[11]; cin >> number; for(int i = 0;i < number;i++) cin >> trips[i];

2013-12-31 16:16:56 347

原创 sicily 1145.校门外的树

#include #include using namespace std;int main(){ int length;//马路长度 int area;//区域数目 while(cin >> length >> area && length != 0) { int road[10001] = {0}; bool visited[10001];//标记区域是否重复 i

2013-12-31 16:07:27 435

原创 sicily 1144.淘淘摘苹果

今天开始刷几题水题搞一搞。。。#include using namespace std;int main(){ int apple[11] = {0}; for(int i = 0;i < 10;i++) { cin >> apple[i]; } int height; cin >> height; int result = 0; for(int i = 0;i

2013-12-31 15:39:30 591

原创 sicily 1082.MANAGER

题意:对于若干个进程(process)和一个进程队列有以下几种操作a x 将花费为x的进程添加到进程队列中p i 修改当前模式为ir 根据p的不同删除队列中最大或最小的进程并输出,p为1时删除并输出最小的,p为2时删除并输出最大的,注意只有当前remove次数是在remove list里面的时候才需要输出,否则只删除e 结束当前的casep的默认

2013-12-30 22:45:45 427

原创 sicily 1157.The hardest problem

水- -但是WA了两次!原因是n signed 32-bit integers. 即你的max值初始不能为0.#include using namespace std;int main(){ int n,max; while(cin >> n && n != 0) { int data[5] = {0}; cin >> max; for(int i = 0;i <

2013-12-30 21:09:03 355

原创 sicily 1090.Highways

题目大意:求最小生成树,并输出最小生成树中权值最大的边,解题思路:用prim算法.prim算法思想参考:Veegin#include #include using namespace std;#define N 505#define MAXINT 65538int n;int result;int map[N][N];//存储distancebool visited[

2013-12-30 17:27:59 345

原创 sicily 1940.Ordering Tasks

题意分析:1.拓扑排序    2.关于按字母序输出.解题思路:刚开始一直纠结在字母序输出问题上,最后了解到可以用一种自己美接触过的数据结构,优先队列即优先级高的元素先出列。用法如下:    1.priority_queueint> qi;//标准库中默认是    2.priority_queueint, vectorint>, greaterint> >qi2;//元素小的优先级高

2013-12-30 11:42:00 902

原创 sicily 1321.Robot

解题策略:典型的Djstra单源路径最短问题.问题的关键是将举证化为图的形式.#include #include #include #include #include using namespace std;struct edge{ int v;//点 int cost;//权值 edge(int a,int b) { this->v = a; this->co

2013-12-29 17:53:03 454

原创 sicily 1031.Campus

djstra单源最短路径.#include #include #include #include #include #include using namespace std;const int MAXN = 1000005;int road[202][202];bool used[202];int minlength[202];int number;int djst

2013-12-29 16:42:54 385

原创 sicily 1424.奖金

拓扑排序#include #include #include #include using namespace std;const int MAXN = 10005;int in[MAXN];vector g[MAXN];int bonus[MAXN];int main(){ int n,m; while(cin >> n >> m && n !=

2013-12-29 15:15:15 760

原创 sicily DAG?

深度搜索找回路#include #include #include #include using namespace std;const int MAXN = 105;bool visited[MAXN];vector g[MAXN];bool back = false;bool dfs(int node){ if(back) return false; for

2013-12-29 14:27:03 589

原创 sicily 有向图边的分类

这题只要过这个例子就可以- -#include #include #include #include using namespace std;const int MAXN = 105;bool visited[MAXN];vector g[MAXN];int main(){ int n,m; while(cin >> n >> m && n != 0)

2013-12-29 13:46:34 493

原创 sicily. bicoloring

#include #include #include using namespace std;int color[1005];int main(){ int n,m; while(cin >> n >> m && n != 0) { vector g[1005]; int a,b; for(int i = 0;i < m;i++) { cin >> a

2013-12-15 19:24:18 534

数字图像处理第三版答案

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

2014-05-01

空空如也

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

TA关注的人

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