Codeforces 659G Fence Divercity (组合计数)
来源:互联网 发布:低空飞行淘宝 编辑:程序博客网 时间:2024/06/06 06:20
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <queue> #include <set> #include <ctime> #include <cstdlib> using namespace std; #define inf 0x3f3f3f3f#define N 1000020#define M 1000020#define LL long long#define ULL unsigned long long #define mod 1000000007#define ls (i << 1)#define rs (ls | 1)#define md (ll + rr >> 1)#define lson ll, md, ls#define rson md + 1, rr, rs#define B 350int n, a[N];int F[N], G[N], H[N];int main() {scanf("%d", &n);for(int i = 1; i <= n; ++i) {scanf("%d", &a[i]);--a[i];}for(int i = 1; i < n; ++i) {F[i] = min(a[i], a[i+1]);}for(int i = 2; i <= n; ++i) H[i] = min(a[i], a[i-1]);for(int i = 2; i < n; ++i) G[i] = min(a[i], min(a[i-1], a[i+1]));LL ans = 0, sum = 0;for(int i = 1; i <= n; ++i) {sum = (1LL * sum * G[i-1] + F[i-1]) % mod;ans += 1LL * sum * H[i] % mod;if(ans >= mod) ans -= mod;ans += a[i];if(ans >= mod) ans -= mod;}cout << ans << endl;return 0;}
0 0
- Codeforces 659G Fence Divercity (组合计数)
- Codeforces 659G Fence Divercity
- CodeForces 659G Fence Divercity (DP)
- codeforces div2 346 G Fence Divercity Dp + 计数
- CodeForces - 659G Fence Divercity (DP)好题
- CodeForces - 659G Fence Divercity (DP)★ ★ ★
- 【Codeforces659G】Fence Divercity【数学】【计数DP?】
- 「组合计数」CodeForces
- poj 1037 A decorative fence(递推+组合计数/数学)
- Codeforces 145D Lucky Pair (组合计数)
- Codeforces 135E Weak Subsequence(组合计数)
- CodeForces 630G-Challenge Pennants【组合数学】
- Codeforces 630G Challenge Pennants【组合数学】
- Codeforces 109C Lucky Tree 组合计数+dfs
- 组合计数
- 组合计数
- [组合&计数]
- 组合计数
- 【机器学习】朴素贝叶斯分类
- mysql悲观锁总结和实践
- 对包装类DataInputStream/DataOutputStream的应用
- Ubuntu 14.04 LTS Eclipse没有菜单栏解决方案
- 在DLL中获取自身的路径
- Codeforces 659G Fence Divercity (组合计数)
- Android开源项目分类汇总(六)工具库
- Linux修改内核使得普通用户可以打印kmsg内容
- 网络数据传输的封装
- 【poj 3292】Semi-prime H-numbers
- Flask、uWSGI and Nginx on Ubuntu 14.04
- ExecutorService的几种关闭线程池方法
- 貞觀 宋哲和 先生 墓所探訪
- <css 四>a href