- 博客(9)
- 收藏
- 关注
原创 BC#86.1002(HDOJ5805)NanoApe Loves Sequence
求出前i个数里相邻差值的最大值fi,i到n里相邻差值的最大值gi,那么ans=∑i=1nmax(∣Ai−1−Ai+1∣,fi−1,gi+1)。 时间复杂度O(n)。 一道水题。。麻痹脑子抽了写了好久。。#include <cstdio>#include <iostream>#include <cstring>#include <string>#include
2016-08-07 16:51:56
192
原创 【HDOJ5783】Divide the Sequence(贪心)
Divide the Sequence 把长度为n的序列分成尽量多的连续段,使得每一段的每个前缀和都不小于0。保证有解。 从后往前贪心分段即可。#include <cstdio>#include <cstring>typedef long long LL;const int maxn = 1000000 +10;LL sum[maxn];int main(){
2016-08-06 17:03:30
377
原创 【HDOJ5793】A Boring Question(数学题)
找规律推导。 ans = (m^(n+1) - 1) / (m-1) 利用快速幂和乘法逆元对分数取模#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <algorithm>#include <cstdlib>#include <vector>#in
2016-08-06 16:19:36
269
原创 【HDOJ5802】Windows 10 (贪心 + dfs)
Windows 10直接贪心就好比较直观的看法是使劲往下降,然后升回来或者使劲往下降然后停顿然后再使劲往下降。。。于是就能将问题变成一个子问题,然后dfs就好需要注意的是由于按up键也可以打断连续向下的功效所以应该记录停顿了几次,以后向上的时候用停顿补回来#include <cstdio>#include <iostream>#include <cstring>#inc
2016-08-06 16:11:08
201
原创 【HDOJ5795】 A Simple Nim(博弈)
A Simple Nimsg[0]=0当x=8k+7时sg[x]=8k+8,当x=8k+8时sg[x]=8k+7,其余时候sg[x]=x;(k>=0)打表找规律可得,数学归纳法可证。#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <algorithm>#i
2016-08-06 16:08:27
246
原创 【HDOJ1847】Good Luck in CET-4 Everybody!(博弈)
简单博弈 暴力打表 只能取2的幂次#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <algorithm>#include <cstdlib>#include <vector>#include <set>#include <map>#include
2016-08-06 16:02:24
285
原创 【HDOJ1536】S-Nim(博弈)
大致题意: 给你一个a数组 每次可以取a[i]个,q次询问,每次询问 共有m堆,因为sg函数是一堆的,所以将每堆的sg值异或就是答案。#include <bits/stdc++.h>using namespace std;const int maxn = 10000 + 10;int s[110];int sg[maxn];bool Hash[maxn]; /
2016-08-06 14:16:31
659
原创 组合博弈之SG入门
【HD1846】Brave Game 暴力SG表#include <bits/stdc++.h>using namespace std;const int maxn = 1000;int sg[maxn];bool Hash[maxn];void sg_solve(int n,int m){ memset(sg,0,sizeof(sg)); fo
2016-08-06 12:53:06
297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人