IT民工
加油!
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 29 下一页
摘要: 先输入16个像素点,然后每输入一个像素点,输出与其最相近的像素点。/* Accepted 176K 0MS C++ 664B 2012-05-04 22:34:22 */#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#define MAXN 20int A[MAXN], B[MAXN], C[MAXN];int a, b, c;int k;int main(){ for( int i = 0; i < 16; i ++) scanf( "%d%d% 阅读全文
posted @ 2012-05-04 22:43 找回失去的 阅读(193) 评论(0) 推荐(0)
摘要: 做了三道水题,练手。水题也要细心POJ 1004:/*Accepted 180K 0MS C++ 187B 2012-04-26 16:48:20 */#include<cstdio>double a, sum;int main(){ sum = 0; for( int i = 0; i < 12; i ++) { scanf( "%lf", &a); sum += a; } printf( "$%.2lf\n", sum / 12); return 0;}POJ 2027/*Accepted 164K 0MS C++ 223B 阅读全文
posted @ 2012-04-26 17:14 找回失去的 阅读(198) 评论(0) 推荐(0)
摘要: 给出N条边,问这些边能组成多少个不同的三角形,每条边的长度是不同的。首先我们先将边长按照升序排序,然后枚举两条短的边,看最长边有多少种可能,累加。#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<algorithm>using namespace std;const int MAXN = 2012;int T, N;int a[MAXN];int b_s( int len){ int left = 0, right = N - 1; 阅读全文
posted @ 2012-04-23 10:49 找回失去的 阅读(355) 评论(0) 推荐(0)
摘要: 这道题之前做过。左边线柱是升序排列的,所以要找右边线柱的最长升序列,因为最大范围是N = 40000,所以只能用o(nlogn)的写法。/*Accepted 296K 125MS C++ 581B 2012-04-22 19:00:19 */#include<cstdio>#include<cstring>#include<cstdlib>#define MAXN 40005int s[MAXN], top, t, n;int main(){ int T; scanf( "%d", &T); while( T --) { scan 阅读全文
posted @ 2012-04-22 19:05 找回失去的 阅读(186) 评论(0) 推荐(0)
摘要: 这道题是求一个最长下降子序列,o(nlogn)的算法也不难写,仿照最长升序子序列的写法,还好二分没写成死循环。这题输入比较坑爹,每组测试以-1结尾,结束所有测试也是-1,然后要求没两组之间有空行,在测试的时候看到的是输入每组第一个数才空行,这里浪费了不少时间…/*Accepted 168K 0MS C++ 627B 2012-04-22 18:33:00 */#include<cstdio>#include<cstring>#include<cstdlib>#define MAXN 32900int a[MAXN], t;int main(){ int to 阅读全文
posted @ 2012-04-22 18:40 找回失去的 阅读(221) 评论(0) 推荐(0)
摘要: 两道codeforce的题: 第一道题是将一个字符串的左边变成大写,右边变成小写需要最小的操作数,我们先预处理出第一个到第i个字符有多少大写字母up[i],第n个到第i个有多少个小写字母low[i]。假设我们是i左边都是大写,右边都是小写,我们操作数就是将左边的小写变成大写,右边的大写变成小写,操作数为i – up[i] + ls – i – low[i],整理下就是 ls – up[i] – low[i],遍历一遍找到最小值即可。/*Accepted 30 ms 2200 KB */#include<cstdio>#include<cstring>#include&l 阅读全文
posted @ 2012-04-22 17:24 找回失去的 阅读(739) 评论(0) 推荐(0)
摘要: 判断a的前i个字母和b的前j个字母能否构成 c的前 i + j个字母,递推,注意数组开大些,205居然会wa。/*Accepted 220K 0MS C++ 911B 2012-04-22 10:42:42 */#include<cstdio>#include<cstring>#include<cstdlib>#define MAXN 255bool match[MAXN][MAXN];char a[MAXN], b[MAXN], c[MAXN << 1];int la, lb, lc;void dp(){ int i, j; la = strl 阅读全文
posted @ 2012-04-22 11:03 找回失去的 阅读(217) 评论(0) 推荐(0)
摘要: 01背包,还好没忘记是怎么写的!/*Accepted 240K 266MS C++ 563B 2012-04-22 09:13:42 */#include<cstdio>#include<cstdlib>#include<cstring>#define MAXN 3407#define MAXM 12900#define max( a, b) ( a > b ? a : b)int w[MAXN], d[MAXN];int f[MAXM];int N, M;void init(){ for( int i = 1; i <= N; i ++) sc 阅读全文
posted @ 2012-04-22 09:16 找回失去的 阅读(168) 评论(0) 推荐(0)
摘要: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1163a[i - 1]表示i的前缀积,b[i + 1]表示i的后缀积,两者相乘取模就是所需的结果#include<cstdio>#define MAXN 100005int a[MAXN], b[MAXN];int n, m;int main(){ while(scanf( "%d%d", &n, &m) == 2){ for(int i = 0; i < n; i ++) scanf("%d",&a[i]); b 阅读全文
posted @ 2012-04-18 10:52 找回失去的 阅读(238) 评论(0) 推荐(0)
摘要: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1165把F题想得太难了,用贪心的思想,找局部最优解,看了解题报告就A了。#include<cstdio>#include<cstring>#include<cstdlib>#define MAXD 1000005#define min(a, b) (a < b ? a : b)const long long inf = 0x7fffffff;int la, lb, lc;long long a[MAXD], b[MAXD], c[MAXD];long l 阅读全文
posted @ 2012-04-18 10:24 找回失去的 阅读(276) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 29 下一页