当前位置: 首页 > news >正文

dp递推题2010年吉林省省赛 1456: 逃票的chanming(3)

1456: 逃票的chanming(3)

时间限制: 2 Sec  内存限制: 128 MB
提交: 326  解决: 48
[提交][状态][讨论版]

题目描述

这是一个神奇的国度。
    这个国度一共有N个城市组成,让我们将他们编号为1~N,
    这一天,chanming带着他的第一个月的工资K元来到了城市1。他想到城市N去寻找宝藏。经历了艰难险阻,上刀锅下油山,他终于来到了N市。在这里,他发现了n种宝藏。每一种宝藏有a[i]个。
    Chanming是个有情有义的人,他怎么会忘记自己的小伙伴呢~他决定带着3件宝藏回去向他的三个小伙伴炫耀!他是这样考虑的:
    他要带3件宝藏回去。
    同一种类的宝藏他至多只带1件。
    现在Chanming想知道知道他有多少种不同的方案。

 

输入

题目包含多组数据,你需要处理到文件结束(EOF)
每组数据第一行一个正整数n,表示n种类型(3 <= n <= 3000)
第二行有n个数,表述a[i] (a[i] <= 10000)

 

输出

对于每组数据,输出一个数,表示总共有多少种不同的选择(mod 400823823)

 

样例输入

3
1 2 3

样例输出

6

提示

 

来源

GDUT校赛

注意组合的状态,新增加一种后,前面的组合形式有三种。dp的作用就是不断更新这三种状态,第三种状态就是当前的最大种数。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define maxn 10010
int main()
{  
    int a[maxn],n;
    long long dp[maxn][4];
    while(cin >> n)
    {
        for(int i=1;i<=n;i++)
            cin >> a[i];
        dp[3][3] = (a[1]*a[2]*a[3])%400823823;
        dp[3][2] = (a[1]*a[2] + a[1]*a[3] + a[2]*a[3])%400823823;
        dp[3][1] = (a[1]+a[2]+a[3])%400823823;
        for(int i=4;i<=n;i++)
        {
            dp[i][3] = (dp[i-1][3]+dp[i-1][2]*a[i])%400823823;
            dp[i][2] = (dp[i-1][2]+dp[i-1][1]*a[i])%400823823;
            dp[i][1] = (dp[i-1][1] + a[i])%400823823;
        }
        cout << dp[n][3] << endl;
    }
    return 0; 
} 

 

转载于:https://www.cnblogs.com/l609929321/p/7156552.html

相关文章:

  • Brew平台音乐播放器Dream Player
  • bitnami忘记登录密码
  • 趋势图
  • MongoDB 自己定义函数
  • CSS教程:认真学习haslayout
  • Summary Day30
  • 切记切记:Spring配置文件中,Component-scan无法扫描到的类中的自动装配对象无法被调用,报空指针错误。...
  • GLide加载图片还能这样干——基于Glide4.0完美封装
  • “朋友仅展示最近三天的朋友圈”的背后
  • WCF学习之: IsInitiating 和 IsTerminating
  • 数据结构与算法总结
  • Server.MapPath的用法
  • Zabbix 3.2.6监控虚拟机VMware
  • 01_04_Linux操作系统基础
  • Integer 内部缓存
  • 网络传输文件的问题
  • create-react-app做的留言板
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • ERLANG 网工修炼笔记 ---- UDP
  • java 多线程基础, 我觉得还是有必要看看的
  • Java,console输出实时的转向GUI textbox
  • uni-app项目数字滚动
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 小试R空间处理新库sf
  • Hibernate主键生成策略及选择
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​ArcGIS Pro 如何批量删除字段
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (转载)(官方)UE4--图像编程----着色器开发
  • .gitignore文件设置了忽略但不生效
  • .NET Core 中的路径问题
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET4.0并行计算技术基础(1)
  • .net操作Excel出错解决
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET上SQLite的连接
  • .Net中的设计模式——Factory Method模式
  • 。Net下Windows服务程序开发疑惑
  • @JSONField或@JsonProperty注解使用
  • [ linux ] linux 命令英文全称及解释
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [Angular] 笔记 21:@ViewChild
  • [BZOJ 1032][JSOI2007]祖码Zuma(区间Dp)
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计
  • [CDOJ 1343] 卿学姐失恋了