- 博客(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
227
原创 【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
414
原创 【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
308
原创 【HDOJ5802】Windows 10 (贪心 + dfs)
Windows 10直接贪心就好比较直观的看法是使劲往下降,然后升回来或者使劲往下降然后停顿然后再使劲往下降。。。于是就能将问题变成一个子问题,然后dfs就好需要注意的是由于按up键也可以打断连续向下的功效所以应该记录停顿了几次,以后向上的时候用停顿补回来#include <cstdio> #include <iostream> #include <cstring> #inc
2016-08-06 16:11:08
235
原创 【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
283
原创 【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
318
原创 【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
699
原创 组合博弈之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
333
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人