- 博客(35)
- 收藏
- 关注
原创 南阳理工OJ_题目311 完全背包
//0.0这段时间被背包问题搞迷了... #include #include using namespace std;int main(){ int T; int m, v; int c[2010]; int w[2010]; int d[50010]; cin >> T; while(T--) { ci
2014-04-30 12:36:22 768
原创 南阳理工OJ_题目44 子串和
又一个经典问题,对于一个包含负值的数字串array[1...n],要找到他的一个子串array[i...j](0这里我们需要注意子串和子序列之间的区别。子串是指数组中连续的若干个元素,而子序列只要求各元素的顺序与其在数组中一致,而没有连续的要求。对于一个元素数为n的数组,其含有2^n个子序列和n(n+1)/2个子串。如果使用穷举法,则至少需要O(n^2)的时间才能得到答案。卡耐基梅隆大
2014-04-29 22:32:21 767
原创 南阳理工OJ_题目37 回文字符串
//d[i][j]表示从i到j所需插入最少的字符 //状态转移方程: //ch[i] == ch[j] 时,d[i][j] = d[i+1][j-1] //ch[i] != ch[j] 时, d[i][j] = min( d[i+1][j], d[i][j-1] )#include #include using namespace std;int dp();char ch[
2014-04-28 23:47:17 783
原创 南阳理工OJ_题目995 硬币找零
//用一维的滚动数组,f[j]里保存的是f(i-1, j)的值 #include#includeusing namespace std;int f[100010], c, n, m;int min(int a, int b) {return a < b ? a : b; }int main(){ while(cin>>n>>m) { if(n==
2014-04-28 22:06:38 658
原创 南阳理工OJ_题目10 skiing
//最长单调递减序列变形#include #include using namespace std;int dp(int , int );int a[110][110];int d[110][110];int r;int c;int main(){ int T; cin >> T; while(T--) { cin >>
2014-04-24 17:54:12 642
原创 南阳理工OJ_题目18 The Triangle
#include using namespace std;int a[110][110];int d[110][110];int main(){ int n; cin >> n; for(int i = 1; i <= n; i++) for(int j = 1; j <= i; j++) cin >> a[i][j]
2014-04-24 15:01:42 807
原创 南阳理工OJ_题目915 +-字符串
//遍历ch2,然后从ch1中找到第一次出现ch2[i]的位置,然后交换并计数#include #include using namespace std;void change(int , int);char ch1[5001];char ch2[5001];int main(){ int len; int num1; int num2; i
2014-04-24 14:44:37 792
转载 0-1背包问题详解
0/1背包问题:有n件物品,每件物品i的重量为w[i],价值为v[i];有一个背包,最大承重量为c。要求向包中放入若干件物品,使的物品总重不超过背包承重量,且包中物品的总价值最大。 0-1背包问题可以用回溯法、搜索解空间法、动态规划法等。其中动态规划方法思想和实现都较为简单,时间复杂度也较低,因而比较常用。网上很多c或者c++的动态规划实现0-1背包的代码都是错误的。这里对该问题给
2014-04-23 16:59:48 2232
原创 南阳理工OJ_题目308 Substring
//不是回文字#include #include using namespace std;char ch1[55];char ch2[55];int d[55];int len;int max_len;int sit;int main(){ int T; cin >> T; while(T--) { cin >> (ch1
2014-04-21 17:07:22 702
原创 南阳理工OJ_题目305 表达式求值
#include #include #include using namespace std;void push_op(char c);char pop_op();void push_num(int n);int pop_num();char ch[310];char op[110];int num[110];int op_top;int num_top;int
2014-04-21 13:35:49 1011
原创 UVaOJ_103 - Stacking Boxes
#include #include #include using namespace std;int cmp(const void *a, const void *b);int dp(int cur);void output(int i);int a[35][15];int d[35];int count;int len;int t;int main() {
2014-04-18 18:12:18 505
原创 UVaOJ_10192 - Vacation
#include #include int fun();char ch1[1010];char ch2[1010];int LCS[1010][1010];int main(){ int i = 0; fgets(ch1, 1010, stdin); while(ch1[0] != '#') { fgets(ch2, 1010, stdin); i++;
2014-04-18 13:46:46 489
原创 南阳理工OJ_题目303 序号互换
//细心点儿就可以了#include #include #include using namespace std;void fun1(char *ch, char *result);void fun2(char *ch, char *result);int main(){ int N; char ch[20]; char result[20];
2014-04-17 13:21:15 499
原创 南阳理工OJ_题目168 房间安排
#include #include using namespace std;struct data{ int a; int b; int c;};int main(){ int T; cin >> T; while(T--) { int n; data a[10010]; i
2014-04-17 11:07:58 773
原创 南阳理工OJ_题目171 聪明的kk
#include #include using namespace std;int dp(int , int );int a[25][25];int d[25][25];int m;int n;int main(){ cin >> n >> m; for(int i = 1; i <= n; i++) for(int j = 1; j <=
2014-04-17 07:44:46 546
原创 南阳理工OJ_题目36 最长公共子序列
#include #include #include using namespace std;int dp(int , int );char ch1[1010];char ch2[1010];int d[1010][1010];int main(){ int T; cin >> T; //scanf("%d", &T); //getchar
2014-04-16 16:57:26 556
原创 南阳理工OJ_题目17 单调递增最长子序列
#include #include using namespace std;int dp(int cur);char ch[10010];int len;int d[10010];int main(){ int T; cin >> T; while(T--) { cin >> (ch+1); len = str
2014-04-16 16:12:57 468
原创 南阳理工OJ_题目16 矩形嵌套
//类似于最长单调子序列,把单调条件改为嵌套即可#include #include using namespace std;int dp(int cur);struct data{ int l; int w;};int n;int d[1010];data a[1010];int main(){ int T; cin >> T;
2014-04-16 16:05:01 520
原创 UVaOJ_10066 - The Twin Towers
//最长公共子序列 #include #include using namespace std;int dp(int , int );int n1;int n2;int a1[110];int a2[110];int d[110][110];int main(){ cin >> n1 >> n2; int count = 0; while(n1
2014-04-15 17:55:05 445
原创 UVaOJ_10131 - Is Bigger Smarter?
//思路:按重量升序排序之后,从IQ中找到一个最长单调子序列 #include #include #include using namespace std;int cmp(const void *a, const void *b);int dp(int );void print_sit(int n);struct data{ int seat; int
2014-04-15 17:22:19 487
转载 Ubuntu, Red Hat设置开机进入shell界面
Ubuntu默认情况下是进入GNOME界面, 如果想开机自动进入shell界面, 可以在终端输入:sudo vim /etc/default/grub在如下: 修改GRUB_CMDLINE-LINUX=""为:GRUB_CMDLINE_LINUX="text"保存, 退出, 并输入更新命令:sudo update-grub
2014-04-15 12:57:50 3241
原创 南阳理工OJ_题目746 整数划分(四)
//dp问题, 10^19, long long存储结果#include #include using namespace std;long long fun(int i, int j, int m);long long d[25][25][25];//记忆数组char n[25];//用字符数组存储n,方便处理int m;int main(){ int T;
2014-04-13 16:04:39 664
原创 南阳理工OJ_题目542 试 制 品
//ch1存储化学方程式,ch2存储已有试制品(前M个为输入的试制品)//left和right分别存储一个化学方程式的反应物和生成物//思路:检查ch1中每个方程式的反应物是否都在已有试制品中,//如都在,把生成物加入试制品,最后排序输出#include #include #include using namespace std;int cmp(const void *_a,
2014-04-12 19:15:00 646
转载 Ubuntu下安装并配置Code::Blocks IDE
安装步骤:1.先把编译环境,C库、C++库和Boost库装好,如下:sudo apt-get install build-essential* 有可能安装 build-essential 后gdb就已经安装过了 sudo apt-get install gdb2. 在 Ubuntu 软件中心 中安装 Code::Blocks IDE或者$sudo apt-get
2014-04-11 18:27:08 1229
原创 UVaOJ_489 - Hangman Judge
Hangman Judge In ``Hangman Judge,'' you are to write a program that judges a series of Hangman games. For each game, the answer to the puzzle is given as well as the guesses. Rules are the
2014-04-08 21:00:43 628
原创 UVaOJ_10405 - Longest Common Subsequence
Problem C: Longest Common SubsequenceSequence 1: Sequence 2: Given two sequences of characters, print the length of the longest common subsequence of both seq
2014-04-08 18:20:46 603
原创 南阳理工OJ_题目540 奇怪的排序
#include #include #include #include using namespace std;struct aaa{ int a; int b;};void swap(char *ch, int len);int cmp(const void *, const void *);int main(){ int N; ci
2014-04-03 16:16:28 506
原创 南阳理工OJ_题目715 Adjacent Bit Counts
看到题目后,想了一会,感觉用回溯可以搞定,于是就开始用递归穷举所用可能,代码是写出来了,结果超时,还是接触这类问题比较少,穷举必超时!#include //回溯法,超时using namespace std;void search(int cur);int count;int a[110];int sum;int n;int p;int main(){ int k;
2014-04-03 11:42:53 472
原创 南阳理工OJ_题目714 Card Trick
#include #define LEN 15using namespace std;int main(){ int k; cin >> k; while(k--) { int n; int a[LEN]; int front; int rear; cin >> n; front = rear = 0; for(int i = n; i >= 1;
2014-04-02 16:46:40 606
原创 南阳理工OJ_题目710 外星人的供给站
#include #include #include //贪心算法 //把点转换成区间 //去掉大区间 //贪心开始... using namespace std;struct seat{ int x; // int y; //坐标 double left; // double right; //区间
2014-04-02 12:45:01 658
原创 南阳理工OJ_题目709 异形卵
#include using namespace std;int main(){ int k; cin >> k; while (k--) { int l, n; int a[1010]; int begin = 0; int max = 0; int temp = 0; cin >> l >> n; for(int i = 1; i <= n; i
2014-04-01 21:50:17 534
原创 南阳理工OJ_题目52 无聊的小明
#include #include using namespace std;int main(){ int T = 0; cin >> T; while (T--) { long long int n = 0; int k = 0; int tail = 0; int len = 0; int t = 0; int flag = 0; long lo
2014-04-01 20:55:17 594
原创 南阳理工OJ_题目50 爱摘苹果的小明
#include using namespace std;int main(){ int n = 0; cin >> n; while(n--) { int apple[10]; int high = 0; for(int i = 0; i < 10; i++) { cin >> apple[i]; } cin >> high; high
2014-04-01 16:50:18 833
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人