TYVJ P1091 等差数列 Label:dp
背景
描述
经过一定的学习小C发现这个问题太简单了,等差数列的和不就是(Sn+S1)*n/2?因为这个问题实在是太简单了,小C不屑于去解决它。这让小C的老师愤怒了,他就找了另外一个问题来问他。
小C的老师给了他一个长度为N的数字序列,每个位置有一个整数,他需要小C帮他找到这个数字序列里面有多少个等差数列。
……
这个问题似乎太难了,小C需要你的程序帮他来解决这个问题。
输入格式
第二行有N个整数A[i],表示数字序列每个数字的大小。
输出格式
测试样例1
输入
5
1 4 2 3 7
输出
17
备注
对于70%的数据,N <= 500
对于100%的数据,N <= 1000;-500 <= A[i] <= 500
代码
#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<cmath> #define block 1010 using namespace std; int cnt,N,f[1010][2020],a[1010]; int main(){ // freopen("01.txt","r",stdin);scanf("%d",&N);for(int i=1;i<=N;i++) scanf("%d",&a[i]);for(int i=1;i<=N;i++){cnt=(cnt+i)%9901;for(int j=i-1;j>=1;j--){int x=a[i]-a[j];cnt=(cnt+f[j][x+block])%9901;f[i][x+block]=(f[i][x+block]+f[j][x+block]+1)%9901;}}printf("%d\n",cnt);return 0; }几个点:
题目要求mod 9901
block 是因为有负数,所以向右平移1010个单位来记入到f数组
下面第一句话不能改成2,想想看为什么
1,cnt=(cnt+f[j][x+block])%9901;2,cnt=(cnt+f[i][x+block])%9901;
转载于:https://www.cnblogs.com/radiumlrb/p/5792618.html
TYVJ P1091 等差数列 Label:dp相关推荐
- TYVJ P1051 选课 Label:多叉转二叉树形dp(虐心♥)
描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修了这M门课并考核通过就能获得 ...
- TYVJ P1088 treat Label:鞭笞人的DP
时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 广东汕头聿怀初中 Train#2 Problem2 描述 给出长度为N的数列{A_i},每次可以从最左边或者最 ...
- LeetCode 1027. 最长等差数列(DP)
1. 题目 给定一个整数数组 A,返回 A 中最长等差子序列的长度. 回想一下,A 的子序列是列表 A[i_1], A[i_2], ..., A[i_k] 其中 0 <= i_1 < i_ ...
- bzoj 3357: [Usaco2004]等差数列(DP+map)
3357: [Usaco2004]等差数列 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 485 Solved: 226 [Submit][Sta ...
- 【NOIP 模拟题】[T1] 等差数列(dp)
[题解][dp] [f[i][j]表示以i为结尾,j为公差的子序列个数] [要注意有负数,所以将公差+1000] #include<cstdio> #include<cstring& ...
- tyvj 1067 合唱队形 dp LIS
P1067 合唱队形 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2004 提高组 第三道 描述 N位同学站成一排,音乐老师要请其中的(N-K)位 ...
- JoyOI(TYVJ)1071-LCIS【线性dp,LIS,LCS】
正题 题目链接:http://www.joyoi.cn/problem/tyvj-1071 题目大意 求两个序列的最长公共上升子序列. code 我们先回顾一下LIS和LCS LIS: fi=max{ ...
- LeetCode 1691. 堆叠长方体的最大高度(排序+最大上升子序DP)
文章目录 1. 题目 2. 解题 2.1 暴力超时解 2.2 排序+最长上升子序 463 / 3709,前 12.5% 1240 / 9290,前13.3% 1. 题目 给你 n 个长方体 cuboi ...
- Leetcode 413. 等差数列划分
思路:等差数列的性质 A[i] - A[i - 1] == A[i - 1] - A[i - 2] 方法1:暴力,一旦当前区间不满足等差数列了,那就不需要继续判断了. class Solution { ...
最新文章
- Knockout应用开发指南(完整版) 目录索引
- python如何读取mat文件可视化_python Matplotlib数据可视化(1):简单入门
- [deviceone开发]-Star分享的优惠券商户管理端App开源
- 高并发编程-自定义简易的线程池(2),体会原理
- 计算机桌面是是在哪个盘,电脑虚拟内存是设置在哪个盘的
- DCMTK:DIMSE_dumpMessage()的测试程序
- c语言 常量字符串数组,C语言常量以及字符串数组
- SAP Fiori smart template技术里CDS view的注解和UI元素对应关系
- spring BeanFactory加载xml配置文件示例
- 使用Express在Node.js中实现非常基本的路由
- 程序调试经验~认证基盘测试程序初期调试~。
- [Spring cloud 一步步实现广告系统] 5. 投放系统配置+启动+实体类
- endnoteX9英文参考文献格式下载和导入
- echarts 生成 迁徙图_Echarts世界级迁徙图
- 新手php环境一键安装包,PHP运行环境一键安装包(phpStudy2013)
- 用PhotoShop压缩PNG图片
- qq能上网浏览器不可以
- 爬虫学习笔记 - day02
- java生成不重复8位数字_如何生成8位随机不重复的数字编号
- 《使用机器视觉从照片中确定西瓜质量》论文笔记