hihocoder
文章平均质量分 72
johsnows
正在静下心来学算法的acmer
展开
-
hihocode #1172 : 博弈游戏·Nim游戏·二
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Alice和Bob这一次准备玩一个关于硬币的游戏: N枚硬币排成一列,有的正面朝上,有的背面朝上,从左到右依次编号为1..N。现在两人轮流翻硬币,每次只能将一枚正面朝上的硬币翻过来,并且可以随自己的意愿,在一枚硬币翻转后决定要不要将该硬币左边的任意一枚硬币也翻一次(正面翻到背面或背面翻到原创 2017-04-08 11:52:28 · 559 阅读 · 0 评论 -
hihocoder #1173 : 博弈游戏·Nim游戏·三
#1173 : 博弈游戏·Nim游戏·三 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在这一次游戏中Alice和Bob决定在原来的Nim游戏上增加一条规则:每一次行动时,不仅可以选择一堆取走任意数量的石子(至少取1颗,至多取出这一堆剩下的所有石子),还可以选择将一堆石子分成两堆石子,但并不取走石子。比如说有一堆石子原创 2017-04-08 12:02:09 · 593 阅读 · 0 评论 -
hihocoder 1483 区间价值(二分+双指针)
询问所有区间值中第k小的值,肯定不能把所有区间的值求出来,毕竟有n^2个区间。 我们如果先假设一个答案,然后能够找到所有区间里有多少个区间的值小于当前的答案的话,岂不是就可以二分答案了。那么如何去找到小于x的区间有多少个呢,如果你会双指针的话,这里用一下双指针就是再方便不过了,o(n)的扫一遍加上一个桶来统计区间里元素的值就好了。 然后由于元素的值的范围是0到1e9,所有要先离散化一下,然后就原创 2017-06-18 17:39:29 · 679 阅读 · 0 评论 -
hiho #1306 : 股票价格(stl)
中文题。 解题思路: 用一个multiset维护价格,然后一个list::iterator> >记录时间和对应的价格信息及即可,见代码 代码: #include #include #include #include using namespace std; multisetprice; list::iterator> >tim; int main() {原创 2017-06-12 13:50:12 · 417 阅读 · 0 评论 -
hihocoder 1555 四次方根(矩阵快速幂)
做这个题之前你的知道一元四次方程的求根公式(为什么我的小学体育老师没教过我...) 设x^4+ax^3+bx²+cx+d=0的四个根是x1,x2,x3,x4,则x1+x2+x3+x4=﹣ax1x2+x1x3+x1x4+x2x3+x2x4+x3x4=bx1x2x3+x1x2x4+x1x3x4+x2x3x4=﹣cx1x2x3x4=d 然后你可以通过推导得到x1^2+x2^2+x3^2+x4^2原创 2017-08-21 11:03:23 · 696 阅读 · 0 评论