摘要:
一道基础性的动态规划题目,拿来练手,求最长不上升子序列和不上升子序列的最小划分数代码有问题,测试数据:6,5,1,7,3,2第一次动规的时候太贪了,6,5,3,2,导致第二问无法取得最优解,还要研究研究,不过过vijos的数据是没问题的。#include <iostream>#include <cstdio>#include <cstring>using namespace std;int a[30];int f[30];int last[30];int vis[30];int n,end,total;int ans=0;void input(){ int 阅读全文
摘要:
一次AC。先记下小数部分的长度,再做乘法,同时计算新的小数部分的长度结果的几种特殊情况:1.前导零00000100000.0 红色的零就是前导零,可以直接在做预处理和乘法的时候搞掉。 这里需要注意 00000.87468 这种开头全是0的情况,需要变成 .87468 以及 0.00001 这种前导零延伸到小数部分的情况 2.无用的后导零 如:0.00100000000红色的零就是无用的后导零 这里需要注意 10000000 和10000.0100 这种有的后道零是有用的的情况 还好题目说 r<0,否则还要考虑 0.0这种情况由于写的时候思路有点乱,所以代码也很…… 如果有什么疑问或者我有 阅读全文
摘要:
简单的高精度加法,LRJ白书的模板。只是脑残了下,忘记回车了#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int maxn=1000;struct bign{ int len,s[maxn],flag;//flag 为表示正负备用 bign() {memset(s,0,sizeof(s));len=1;} bign operator = (const char* num) { len=strlen(num); for(int i=0;i<l 阅读全文
摘要:
高精度乘法题目,用了LRJ白书的模板。WA了许多次。注意点:1.前导零需要过滤,应该写个函数(我直接偷懒用加法搞定了) 2.乘法、加法的进位。最后,模板不一定是最好的,适合自己的,自己写的出来的才是最好的。最后再送几组测试用例input:022222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999999999999999999999999999999999999999999999999999999999... 阅读全文
摘要:
一开始没看清题(uva的题目就是坑爹) WA了好多次。原因:k,m,M是通用单位,PUI都可以用。#include <cstdio>#include <cstdlib>#include <cstring>#include <cctype>using namespace std;double readnum(char *a,int begin,int *end){ int i=begin,j=0; char tmp[1001]; double num; memset(tmp, '\0', 1001); while(!isalpha( 阅读全文
摘要:
一次AC,代码写的很烂,全挤在main里了,不过思路还是很清晰的有个问题:1.line1的最后没有回车 line2却有 2.fgets对回车符的处理很奇怪 有空研究下#include <cstdio>#include <cstdlib>#include <cstring>int findchr(char *a,char sign,int start){ for(int i=start;i<1000;i++) if(a[i]==sign) return i;}void printstr(char *a,int begin,int end){ for(in 阅读全文