- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 poj2892 树状数组+二分
题意:求0所在位置两点连续0的个数,不断更新某个点,将这个点变成0或1 用数状数组维护这个表,变成0,1就更新某个点,这是树状数组的特长。查询的时候,对两边二分就行了 // // main.cpp // poj2892 // // Created by He Xilin on 12-4-30. // Copyright 2012年 UESTC,ZSC. All rights r
2012-04-30 14:50:09 1296
原创 problem 22 字符串排序
http://projecteuler.net/problem=22 #include #include #include #include using namespace std; int cmp(const void* e1,const void* e2) { char* a1; char* a2; a1 = (char*)e1; a2 = (char*)
2012-04-12 23:15:23 1307
原创 problem 18 数塔问题
简单dp #include #include using namespace std; int main() { int num[20][25] = {{75},{95, 64},{17,47,82},{18,35,87,10},{ 20,04,82,47,65},{ 19,01,23,75,03,34},{ 88,02,77,73,07,63,67},{ 99,65,04,28,06,1
2012-04-12 23:12:31 1475
原创 problem 16 高精度乘法
http://projecteuler.net/problem=16 #include #include #include using namespace std; int main() { int ans[305]; memset(ans,0,sizeof(ans)); ans[0] = 1; int carry = 0; int i,j; for(i = 1; i
2012-04-12 23:01:22 1489
原创 problem 15 矩阵中a到b的路线数
http://projecteuler.net/problem=15 简单dp,话说腾讯12年笔试题,出了题类似这题的 #include using namespace std; int main() { long long map[21][21]; map[0][0] = 1; int i,j; for(i = 0; i < 21; i++) { map[0][i] =
2012-04-12 22:54:49 508
原创 problem14 最长链
#include #include #include using namespace std; const long long MAXN = 1000000; long long dp[MAXN + 10]; long long SumChain(long long n) { long long sum = 0; // cout<<endl; while(n != 1) { //c
2012-04-12 22:50:55 326
原创 problem 12 f(n) = f(n-1) + n 数列中第一个
projecteuler.net/problems #include #include #include using namespace std; long long SumFactor(long long n) { long long ans = 0; long long i; long long end = sqrt(n + 0.0) + 1;//可大大减少时间开销 f
2012-04-12 22:23:53 323
原创 problem 11 矩阵中连续四个数的最大积
http://projecteuler.net/problem=11 暴力枚举 #include #include using namespace std; int main() { int matrix[410] ={ 8,02,22,97,38,15,00,40,00,75,04,05,07,78,52,12,50,77,91,8, 49,49,99,40,17,8
2012-04-12 22:11:26 1216
原创 Problem 10 2000000以下素数和
http://projecteuler.net/problem=10 #include #include using namespace std; const int MAXN = 2000000; bool prime[MAXN + 10] = {1,1,0}; int main() { int i; int j; int ans = 0; long long lans =
2012-04-12 22:06:06 441
原创 problem 3 最大素因子
#include #include using namespace std; const int MAXN = 100000000; bool prime[MAXN + 10] = {1,1,0}; int allprime[MAXN/10 + 10]; int main() { int i,j; int sub = 0; for(i = 2; i <= MAXN; i++) {
2012-04-12 21:50:32 280
原创 Problem 26 高精度加法
//============================================================================ // Name : pe25.cpp // Author : paul08colin // Version : // Copyright : Your copyright notice // Descrip
2012-04-12 21:47:24 451
原创 欧拉计划解题源码与报告持续发表开始了
最近因为参加一个软件大赛发现了这个数学与程序设计的题库:http://projecteuler.net。特别喜欢这个题库。由于题库不能提交源代码,只需要结果。所以以后就在这里保存我的源码和解题报告。
2012-04-12 21:46:09 315
原创 poj 3735 矩阵行列变换
这题是矩阵运算的经典题目。 可以将peanut初始化为{{0},{0},{0},{1}},然后对peanut矩阵进行变换(行变换,可以对单位矩阵操作,然后放在左边乘以peanut。列变换则放在右边)。还有矩阵的运算符合结合率,不符合交换率。 进行矩阵的N次方运算的时候,我一直没用二进制的思想,一直在模拟递归的过程,结果不断超时,感觉复杂度跟二进制的思想差不多的,奇怪了。后来用了
2012-04-03 09:31:01 461
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人