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][];
while(cin >> n)
{
for(int i=;i<=n;i++)
cin >> a[i];
dp[][] = (a[]*a[]*a[])%;
dp[][] = (a[]*a[] + a[]*a[] + a[]*a[])%;
dp[][] = (a[]+a[]+a[])%;
for(int i=;i<=n;i++)
{
dp[i][] = (dp[i-][]+dp[i-][]*a[i])%;
dp[i][] = (dp[i-][]+dp[i-][]*a[i])%;
dp[i][] = (dp[i-][] + a[i])%;
}
cout << dp[n][] << endl;
}
return ;
}

dp递推题2010年吉林省省赛 1456: 逃票的chanming(3)的更多相关文章

  1. hdu2089(数位DP 递推形式)

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  2. NBUT比赛 方格规律递推题

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26901#problem/A 题意:有一个 2*n的格子里,你可以选择任意一个格 ...

  3. hdu 2604 Queuing(dp递推)

    昨晚搞的第二道矩阵快速幂,一开始我还想直接套个矩阵上去(原谅哥模板题做多了),后来看清楚题意后觉得有点像之前做的数位dp的水题,于是就用数位dp的方法去分析,推了好一会总算推出它的递推关系式了(还是菜 ...

  4. [NOI2009]管道取珠 DP + 递推

    ---题面--- 思路: 主要难点在思路的转化, 不能看见要求$\sum{a[i]^2}$就想着求a[i], 我们可以对其进行某种意义上的拆分,即a[i]实际上可以代表什么? 假设我们现在有两种取出某 ...

  5. HDU 5366 dp 递推

    The mook jong Accepts: 506 Submissions: 1281 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65 ...

  6. uva 10328 - Coin Toss 投硬币(dp递推,大数)

    题意:抛出n次硬币(有顺序),求至少k个以上的连续正面的情况的种数. 思路:转换成求抛n个硬币,至多k-1个连续的情况种数,用所有可能出现的情况种数减去至多k-1个的情况,就得到答案了.此题涉及大数加 ...

  7. 汉诺塔III 递推题

    题目描述: 约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下.由小到大顺序串着由64个圆盘构成的塔.目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动 ...

  8. Power oj2498/DP/递推

    power oj 2498 /递推 2498: 新年礼物 Time Limit: 1000 MS Memory Limit: 65536 KBTotal Submit: 12 Accepted: 3  ...

  9. BZOJ4321queue2——DP/递推

    题目描述 n 个沙茶,被编号 1~n.排完队之后,每个沙茶希望,自己的相邻的两 人只要无一个人的编号和自己的编号相差为 1(+1 或-1)就行:  现在想知道,存在多少方案满足沙茶们如此不苛刻的条件. ...

随机推荐

  1. win10应用商店卸载后重装教程

    方法一 先进这个链接   http://go.microsoft.com/fwlink/?LinkId=619547  下载一个记事本文件,并且把它保存到你的“下载” 里面. 管理员身份打开Power ...

  2. [Spring cloud 一步步实现广告系统] 15. 使用开源组件监听Binlog 实现增量索引准备

    MySQL Binlog简介 什么是binlog? 一个二进制日志,用来记录对数据发生或潜在发生更改的SQL语句,并以而进行的形式保存在磁盘中. binlog 的作用? 最主要有3个用途: 数据复制( ...

  3. 牛客多校训练第八场G.Gemstones(栈模拟)

    题目传送门 题意: 输入一段字符串,字符串中连续的三个相同的字符可以消去,消去后剩下的左右两段字符串拼接,求最多可消去次数. 输入:ATCCCTTG   输出:2 ATCCCTTG(消去CCC)——& ...

  4. eclipse项目导入idea jdk版本不一致😵

    在导入eclipse项目到idea过程中遇到 Imported project refers to unkonwn jdks JavaSE-1.8 解决方法: file --> Project ...

  5. print,cat打印格式及字符串引号格式,去掉字符串空格 in R

    print 函数的打印格式: ##no quote print out > x <- letters[1:5] > print(x,quote=F,);print(x,quote=T ...

  6. 查看centos中的用户和用户组和修改密码

    查看centos中的用户和用户组 1.用户列表文件: vim /etc/passwd/ 2.用户组列表文件: vim /etc/group 3.查看系统中有哪些用户: cut -d : -f /etc ...

  7. LoRaWAN Server开源项目部署

    1,安装MQTT broker,Redis,PostgreSQL sudo apt install mosquitto mosquitto-clients redis-server redis-too ...

  8. springCould:使用Feign 实现声明式服务调用

    一.Spring Cloud Feign概念引入通过前面的随笔,我们了解如何通过Spring Cloud ribbon进行负责均衡,如何通过Spring Cloud Hystrix进行服务断路保护,两 ...

  9. Android进阶之绘制-自定义View完全掌握(四)

    前面的案例中我们都是使用系统的一些控件通过组合的方式来生成我们自定义的控件,自定义控件的实现还可以通过自定义类继承View来完成.从该篇博客开始,我们通过自定义类继承View来实现一些我们自定义的控件 ...

  10. java 获取真实ip和根据ip获取ip所在地区

    import com.alibaba.fastjson.JSON; import javax.servlet.http.HttpServletRequest; import java.io.ByteA ...