上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页
摘要: 挖坑,以后还会更新吧 做数学建模画图使用了matplotlib和numpy,这里简单总结一下常用的用法 一、数据拟合 1、np.polyfit(x, y, n) 使用n次多项式去拟合x,y散点图,返回各个项的系数 2、np.poly1d(a) 返回一个a数组描述的多项式函数 3、np.linspac 阅读全文
posted @ 2017-05-18 21:07 Saurus 阅读(2920) 评论(0) 推荐(0) 编辑
摘要: 第一次写如此复杂的树链剖分, 感觉自己代码能力还是挺不错的,没有调试太久(2个小时) 最后代码量高达11K orz(大部分都是重复的线段树代码,以后可以考虑优化一下代码量) 题解: 首先就是要进行一次树链剖分, 然后线段树维护的内容是比较复杂的,核心是这样的 线段树上的一个结点维护以下信息 v[2] 阅读全文
posted @ 2017-05-18 13:18 Saurus 阅读(854) 评论(0) 推荐(0) 编辑
摘要: 不妨考虑已知一个区间[l,r]的k=1、k=2....k=r-l+1这些数的答案ans(只是这一个区间,不包含子区间) 那么如果加入一个新的数字a[i](i = r+1) 则新区间[l, i]的答案为ans + (c+1)*a[i] + s ,c为[l,r]中小于等于a[i]的数的个数,s为大于它的 阅读全文
posted @ 2017-05-17 16:54 Saurus 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 比较坑的题目。 题意就是:给出一堆石子,一次操作可以变成它的约数个,也可以拿只拿一个,不能变成一个,最后拿的人输。 经过打表发现 几乎所有质数都是先手必败的,几乎所有合数都是先手必胜的 只有几个例外,就是17^n, 2^n这些。 不过继续推导可以发现16是先手必败的,因为2,4,8,15都是先手必胜 阅读全文
posted @ 2017-05-16 23:17 Saurus 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 按照插入数的大小排序, 然后依次进行dp。 用一个状态表示n个数是否被选了 10110 就是表示第1、3、4个位置都选了 那么如果此时这个数该填到5这个位置,那么必定会造成一个逆序(因为下一个数会填到2,下一个数必定比这个数大) 也就是转移的时候看插入位置前有多少个0,进行转移 写的时候有一些小技巧 阅读全文
posted @ 2017-05-16 23:08 Saurus 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 设dp[i][y]表示一个点在x[i],另一个点在y时最小要走的步数 那么有以下转移 对于y != x[i-1]的状态,可以证明,他们直接加|x[i] - x[i-1]|即可(如果有其他方案,不符合对dp的定义) 当y == x[i-1]时,它可以由其他所有状态转移过来, dp[i][x[i-1]] 阅读全文
posted @ 2017-05-06 14:38 Saurus 阅读(396) 评论(0) 推荐(0) 编辑
摘要: orz 首先说一下这个只是民间题解,可能会有很多错误 程序还没有评测,所以可能存在问题 C题比赛的时候没想到。。后来发现是个模板题,所以没有代码 希望这份题解能对读者有所启发吧。。。 A题 直接倒序枚举即可 因为一个数n最短减sqrt(n)次就可以变成回文数 所以复杂度是sqrt(n)的 (也可以利 阅读全文
posted @ 2017-04-07 10:16 Saurus 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个序列,给出一个k,要求给出一个划分方案,使得连续区间内不同的数不超过k个,问划分的最少区间个数,输出时将k=1~n的答案都输出 比赛的时候想的有点偏,然后写了个nlog^2n的做法,T了 赛后发现有更加巧妙的做法 题解: 首先,可以贪心地想 也就是说从第一个数开始,每个区间都尽量往后 阅读全文
posted @ 2017-03-24 10:54 Saurus 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 大步小步模板 (hash稍微有一点麻烦, poj不支持C++11略坑) 阅读全文
posted @ 2017-03-18 11:48 Saurus 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 看了wys的论文,感觉获得了不少新姿势 这里总结一下 阅读全文
posted @ 2017-03-11 21:57 Saurus 阅读(175) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页