自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GooMaple

有些事不是看到了希望才去坚持 而是因为坚持了才会看到希望

  • 博客(202)
  • 资源 (3)
  • 收藏
  • 关注

转载 UVa 工具网站

uva 工具网站 顶 顶!!!UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.htmlLucky貓的ACM園地,Lucky貓的 ACM 中譯題目 Mirror這個站專門提供UVa Online Judge中譯題目。非常棒!非常棒!非常棒!我在搜尋引擎輸入過上百次的Luck

2012-08-21 12:11:44 4968

原创 Windows下CodeBlocks配置wxWidgets详细教程

现在网上有很多讲CodeBlocks下配置wxWidgets的文章,但不少都因为软件版本的更新或者讲的不是很清楚,使得配置过程总是问题重重。    针对这些问题,本文在基于使用codeblocks13.12+wxWidgets-3.0.2的基础上,根据自身配置过程中遇到的问题和网上的种种配置经验,总结出了一般的配置过程和一些注意点,以便今后即使codeblocks和wxWidgets继续更

2015-05-12 10:56:12 15802 6

原创 codeblocks搭建opencv完整教程(二)—— MinGW版OpenCV配置方法

本文主要是codeblocks在配置完OpenCV后可能出现的一些列问题的原因和解决方法,其中涉及用cmake+MinGW编译OpenCV源代码相关操作步骤。*配置环境以及所涉及软件版本:*操作系统:win7系统   *IDE版本:codeblocks 13.12 (MinGW 4.7.1)*OpenCV版本: 2.4.10*编译辅助工具:cmake-3.2.2-win32-x

2015-05-11 21:47:21 26144 32

原创 codeblocks搭建opencv完整教程(一)

这里用的codeblocks版本为13.12,opencv版本为2.4.10。第一步:下载 opencv-2.4.10.exe (下载地址:http://opencv.org/或http://www.opencv.org.cn/)第二部:安装codeblocks,(去http://www.codeblocks.org/下载最新的mingw版本)第三步:双击运行openc

2015-05-11 12:04:53 38922 5

原创 Linux编程练习(二)—— Linux下.so动态库的建立和调用

(在ubuntu 12.04系统下进行测试)实现将一个自己编写的Hello.c文件打包成libHello.so动态库,并通过gcc编译工具实现一个test.c程序调用libHello.so和自定义头文件Hello.h的过程。具体程序代码如下://Hello.h文件#include void printhello();//Hello.c文件#include v

2013-11-21 00:11:49 2160

原创 Linux编程练习(一)—— 多线程+共享内存+线程信号量练习

在ubuntu12.04下的共享内存+多线程+信号量练习实例。问题:程序要求用多线程+共享内存+信号量,实现将一个文件中的内容写入到另一个空白文件中(读与写的操作必须分在两个线程中完成),要求文件内容的大小要远大于所用共享内存的大小。分析:题目要求将一个文件(假设为in)中的数据存入到另一个空白文件(假如为out)中,而且要求共享内存的大小要小于文件传输内容的大小,因此我们

2013-11-11 19:11:56 2627

原创 Ubuntu12.04 下gedit打开txt乱码问题

由于windows下txt文件编码多是国标码(GBK),linux下是UTF-8的编码,而gedit没有自动识别编码的功能。因此在ubuntu下打开txt文件会出现乱码的现象。解决方法:1、在终端下输入“sudo apt-get install dconf-tools”,如果已经安装了则直接输入“dconf Editor”。2、依次展开“org/gnome/gedit/preferen

2013-11-11 17:53:10 1038

原创 Ubuntu12.04中配置 Java JDK

最近在Ubuntu上折腾了一下Java JDK的安装和配置,参考了网上好多人的配置方法,很多都有些问题,最后采“百家之长”总结了自己这次配置的经验,跟大家分享一下。首先,先去Oracle官网(http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html) 下载Linux下的JDK压缩包

2013-09-10 11:23:52 1094

原创 HDU 2899-Strange fuction

凹函数求极小值,三分。代码如下:#include #include #include #include #include using namespace std;double fx(double x, double y){ return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x;}int main(){#i

2013-05-21 17:09:07 859

原创 HDU 2199-Can you solve this equation?

函数单调增,二分做。代码如下:#include #include #include #include #include using namespace std;double fx(double x){ return 8*x*x*x*x+7*x*x*x+2*x*x+3*x+6;}int main(){#ifdef test freopen("input.

2013-05-21 16:10:17 1047

原创 HDU 1527 - 取石子游戏

裸威佐夫博奕。证明见:http://blog.csdn.net/acm_cxlove/article/details/7854530。代码如下:#include #include #include #include #include using namespace std;double eps = 1e-9;int main(){#ifdef test freop

2013-05-04 16:59:16 825

原创 HDU 1907 - John

n堆石子,最后一个取完的人输。Nimm博弈,全是1的时候,特判,数1的个数,奇数输,偶数赢了。证明过程见:http://blog.csdn.net/acm_cxlove/article/details/7854530代码如下:#include #include #include #include using namespace std;int main(){#ifde

2013-05-04 16:33:20 1568

原创 HDU 1849 -Rabbit and Grass

纯Nimm博弈,不过比较难看出来。#include #include #include #include using namespace std;int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int m, n; while(scanf("%d", &m) && m)

2013-05-04 16:10:37 1090

原创 HDU 1851 - A Simple Game

巴什博奕和Nimm博弈的组合版。代码如下:#include #include #include #include using namespace std;int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int c, n, m, num; scanf("%d", &c);

2013-05-04 15:37:33 889

原创 HDU 2149 - Public Sale

巴什博奕。(1)如果m>n,则先行者第一次取n~m之间任意数都能保证其必胜。(2)如果n%(m+1)==0,则必败。(3)如果n%(m+1)!=0,则第一次先行者必须拿n%(m+1)个,才能保证必胜。代码如下:#include #include #include #include using namespace std;int ways[102];int main(

2013-05-04 15:21:57 738

原创 HDU 1850 - Being a Good Boy in Spring Festival

Nimm博弈,需要统计可行方案的个数。代码如下:#include #include #include #include using namespace std;int ways[102];int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int m; while(scanf

2013-05-04 14:20:29 799

原创 HDU 2147 - kiki's game

博弈,简单推一下必败点与必胜点,可以看出奇偶规律。代码如下:#include #include #include #include using namespace std;int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int n, m; while(scanf("%d%

2013-05-04 12:14:51 902

原创 HDU 1847 - Good Luck in CET-4 Everybody!

巴什博奕。代码如下:#include #include #include #include using namespace std;bool ways[1002];int vis[10] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512};int main(){#ifdef test freopen("input.txt", "

2013-05-04 11:54:26 1199

原创 HDU 1846 - Brave Game

巴什博奕。代码如下:#include #include #include #include using namespace std;bool ways[1002];int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int c, n, m; scanf("%d", &c);

2013-05-04 11:42:06 763

原创 UVa 10404 - Bachet's Game

类似巴什博奕,先行者要赢,假设先行者必赢的状态为1,必输为0。则其通过集合中存在的数可以达到之前的某个0的状态,则当前状态为1,如果通过所有集合中的数都无法达到之前的某个为0的状态(即:可到达的之前状态全为1),则当前状态为0。因为先行者如果可以达到之前某个为0的状态,则说明其达到前面这个0的状态时它实际对于之前的这个状态来说是个后行者,0代表在之前的这个状态来说是后行者赢,则对现在状态来

2013-05-03 22:39:28 847

原创 UVa 437 - The Tower of Babylon

最长公共子序列,将1改为相应权值(即:每个长方体的高度值),其中注意给出的n个长方体,是长方体的种数,也就是说每种长方体可以有无数个。代码如下:#include #include #include #include using namespace std;int step[3][3]={{0,1,2}, {0,2,1}, {1,2,0}};int num, dp[100], t

2013-05-03 22:02:38 1140

原创 UVa 10154 - Weights and Measures

先按力量排序,然后dp在前i个乌龟中j个乌龟可以重叠的最小重量,其实就是对于每个乌龟i选或是不选的问题。状态方程:dp[i, j] = min{dp[i, j-1],  dp[i-1, j-1]+w[i]}.代码如下:#include #include #include #include using namespace std;typedef struct Turtle{

2013-05-02 23:36:56 964

原创 UVa 10069 - Distinct Subsequences

dp+大数加法。设母串的长度为 j, 子串的长度为 i,我们要求的就是长度为 i 的字串在长度为 j 的母串中出现的次数。(1)若母串的最后一个字符与子串的最后一个字符不同,则长度为 i 的子串在长度为 j 的母串中出现的次数就是母串的前 j - 1 个字符中子串出现的次数,即 str[i][j] = str[i][j - 1];(2)若母串的最后一个字符与子串的最后一个字符相同,那么

2013-05-02 20:48:47 1509

原创 UVa 10285 - Longest Run on a Snowboard

算最长路,最长上升子序列的变形。代码如下:#include #include #include #include using namespace std;int dp[101][101], graph[101][101];int n, r, c;int DP(int i, int j){ if(dp[i][j] > 0) return dp[i][j

2013-04-26 23:24:34 917

原创 UVa 10465 - Homer Simpson

可以用完全背包来做,也可以用贪心的方法来做。贪心的话:(1)如果恰好可以凑成t,则更新最大汉堡数(即:A+B最大)。(2)如果凑不成t,则在 t-max最小的情况下,更新A+B的最大值。贪心法(0.024s):#include #include #include #include using namespace std;int _max;int main(

2013-04-26 21:21:34 1057

原创 UVa 531 - Compromise

最长公共子序列,打印路径,注意格式的打印。代码如下:#include #include #include #include using namespace std;char w1[100][31], w2[100][31];int dp[101][101], path[101][101];void Print(int sum, int i, int j)//递归打印路径{

2013-04-24 21:41:36 1335

原创 UVa 624 - CD

计算磁带能装下的最大音乐的时长。0-1背包的变形,注意因为需要按从前往后的顺序打印路径,所以在分阶段DP时,需要从后往前。代码如下:#include #include #include #include using namespace std;const int Maxn = 20;int cd[Maxn], dp[Maxn*500];bool vis[Maxn][Max

2013-04-24 20:24:07 1009

原创 UVa 10130 - SuperSale

0-1背包,最后将每个人的最大价值都加起来,就是总的最大价值。代码如下:#include #include #include #include using namespace std;int p[1002], w[1002], mw[102], dp[32];int main(){#ifdef test freopen("input.txt", "r", stdin

2013-04-24 19:54:40 1027

原创 UVa 562 - Dividing coins

题意为将硬币分成俩堆使两堆硬币的差值最小。0-1背包,可以将硬币能凑成的所有和都计算出来,然后从sum/2(sum为所有硬币的和)开始向0探寻,直到找到所给硬币能凑成的最大的硬币和 i,然后其最小差便为sum-2*i。代码如下:#include #include #include #include using namespace std;const int Maxn = 10

2013-04-18 19:59:03 1576

原创 UVa 357 - Let Me Count The Ways

完全背包问题。代码如下:#include #include using namespace std;long long dp[30055];int coin[5] = {1, 5, 10, 25, 50};int main(){ int num; dp[0] = 1; for(int i=0; i<5; ++i) { for(in

2013-04-15 19:53:07 1399

原创 UVa 147 - Dollars

完全背包,注意精度问题,我是直接把小数分成两个整数做的。代码如下:#include #include using namespace std;long long dp[8005];int coin[11] = {1, 2, 4, 10, 20, 40, 100, 200, 400, 1000, 2000};int main(){ int num, a, b;

2013-04-15 18:50:05 1508 2

原创 UVa 10192 - Vacation

最长公共子序列。代码如下:#include #include #include #include using namespace std;#define Maxn 102int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int dp[Maxn][Maxn]; int len

2013-04-11 20:19:51 713

原创 UVa 10131 - Is Bigger Smarter?

最长上升子序列,不过需要略微处理一下,先按重量从小到大排一下序,然后找IQ的最长下降子序列。代码如下:#include #include #include #include using namespace std;struct elephant{ int wei, iq, num;} ele[1002];int cct, dp[1002];int cmp(cons

2013-04-11 20:00:03 727

原创 UVa 10066 - The Twin Towers

实际上就是一个纯的最长公共子序列。代码如下:#include #include #include using namespace std;int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int n1, n2, cct = 0; int tower_1[102], tower_

2013-04-10 19:42:53 888

原创 UVa 116 - Unidirectional TSP

状态方程:max{ dp[i+1,j+1], dp[i,j+1], dp[i-1,j+1]},路径打印也是利用动归的思想,每个状态下在保证路径权值最小的情况下保证起始行数为较小值。代码如下:#include #include #include using namespace std;#define inf 0x7FFFFFFFconst int MAXN = 12;cons

2013-04-09 21:33:17 1970

原创 UVa 10003 - Cutting Sticks

状态方程:dp[i,j] = min(dp[i,k], dp[k,j])+j-i,记忆化搜索。代码如下:#include #include #include const int MAXN = 52;int stick[MAXN], n;int dp[MAXN][MAXN];int DP(int l, int r){ if(dp[l][r] != -1) {

2013-04-01 20:37:19 836

原创 UVa 103 - Stacking Boxes

最长上升子序列,用记忆化搜索做的,比较慢。代码如下:#include #include #include int num, ver, cct;int dp[32], path[30][30];int save[30], box[30][10];bool G[31][31];int cmp(const void *a, const void *b){ return

2013-03-27 21:11:29 699

原创 UVa 111 - History Grading

最长公共子序列,不过输入序列的方式有些特殊。代码如下:#include #include int dp[22][22], ans[22], stu[22];int iMax(int a, int b){ if(a > b) return a; return b;}int main(){ int num, t; scanf("%

2013-03-27 19:23:14 949

原创 UVa 10405 - Longest Common Subsequence

最长公共子序列。代码如下:#include #include int dp[1002][1002];int iMax(int a, int b){ if(a > b) return a; return b;}int main(){ char str1[1002], str2[1002]; while(gets(str

2013-03-27 18:27:43 689

原创 UVa 674 - Coin Change

第一个动归程序,完全背包,本来是用记忆化搜索做的(貌似需要开二维数组来标记,一维数组标记不完,总有重复的数据),没做出来,用递推写了一下,过了~代码如下:#include#includeusing namespace std;int dp[8000];int coin[5] = {1, 5, 10, 25, 50};int main(){ dp[0] = 1;

2013-03-25 21:53:58 717

计算机组成原理复习资料--山东科技大学

13年最新整理山东科技大学计算机组成原理复习资料,其中包括考前重点复习点、课本参考答案以及往年考试样题。

2013-09-27

高质量C/C++编程风格

良好风格的编程代码会在工程项目中起到举足轻重的作用~

2013-09-26

三分法求极值

二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值。

2012-07-29

空空如也

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

TA关注的人

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