Jesus Is Here[递推]2015沈阳online
题目链接https://nanti.jisuanke.com/t/41175
自从百度之星初赛一上自己做出来一道打表找规律的题之后,这种膨胀的感觉让我近乎丧失理智,今天这道题我死死盯了两三个小时硬是没看出什么规律,我还是太嫩了点~,这也是我头一次做递推的题,题量还有待替高啊!
如果相对了思路(看了大佬的精彩解析https://blog.csdn.net/chenzhenyu123456/article/details/48579695),这道题就可以迎刃而解了
首先需要开一个结构体变量,用来存储不同元素的1.‘c’的个数2.字符串长度3.对应字符串上的所有‘c’所在位置下标的和4.元素值,稍作思考就可以得到以下关系了:
1.‘c’的个数:a2.num=a0.num+a1.num
2.字符串长度:a2.len=a0.len+a1.len
3.对应字符串上的所有‘c’所在位置下标的和:a2.sum=a0.num+a1.num+a0.len*a1.num
4.元素值:a2.val=a0.val+a1.val+(a1.sum+a0.len*a1.num)*a0.num-a1.num*a0.sum
Ps:求余的部分需要特别注意,很容易出错。
详见代码:
#include<bits/stdc++.h> using namespace std;
const long long aha=;
struct ha{
long long len,sum,val,num;
ha(){}
ha(long long x,long long y,long long z,long long p):len(x),sum(y),val(z),num(p){}
};
int t,n;
int main(){
scanf("%d",&t);
for(int Case=;Case<=t;Case++){
scanf("%d",&n);
ha a0(,,,),a1(,,,),a2;
n-=;
while(n--){
a2=ha((a0.len+a1.len)%aha,
((a0.sum+a1.sum)%aha+a0.len*a1.num%aha)%aha,
(((a0.val+a1.val)%aha+(a1.sum+a0.len*a1.num)%aha*a0.num%aha)%aha-a1.num*a0.sum%aha+aha)%aha,
(a0.num+a1.num)%aha);
a0=a1;
a1=a2;
//printf("len=%lld,sum=%lld,val=%lld,num=%lld\n",a2.len,a2.sum,a2.val,a2.num);
}
printf("Case #%d: %lld\n",Case,a2.val);
}
return ;
}
Jesus Is Here[递推]2015沈阳online的更多相关文章
- hdu 5335 Walk Out(bfs+斜行递推) 2015 Multi-University Training Contest 4
题意—— 一个n*m的地图,从左上角走到右下角. 这个地图是一个01串,要求我们行走的路径形成的01串最小. 注意,串中最左端的0全部可以忽略,除非是一个0串,此时输出0. 例: 3 3 001 11 ...
- HDU 5459 Jesus Is Here (递推,组合数学)
有点麻烦的递推,递推的原则:向小的问题方向分解,注意边界. 字符串的递推式为 定义f为Si中的总方案数 首先可以得到 fi=fi-1+fi-2+组合(si-2,si-1) 然后考虑Si-2和Si-1之 ...
- ACM学习历程—HDU 5459 Jesus Is Here(递推)(2015沈阳网赛1010题)
Sample Input 9 5 6 7 8 113 1205 199312 199401 201314 Sample Output Case #1: 5 Case #2: 16 Case #3: 8 ...
- HDU 5950 Recursive sequence 【递推+矩阵快速幂】 (2016ACM/ICPC亚洲区沈阳站)
Recursive sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- HDU 5950 - Recursive sequence - [矩阵快速幂加速递推][2016ACM/ICPC亚洲区沈阳站 Problem C]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5950 Farmer John likes to play mathematics games with ...
- HDU 5459 Jesus Is Here(递推)
http://acm.hdu.edu.cn/showproblem.php?pid=5459 题意: S(1) = c,S(2) = ff, S(3) = cff,之后S(i) = S(i-1)+S( ...
- HDU5950 Recursive sequence (矩阵快速幂加速递推) (2016ACM/ICPC亚洲赛区沈阳站 Problem C)
题目链接:传送门 题目: Recursive sequence Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total ...
- HDU 6198 2017沈阳网络赛 线形递推
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6198 题意:给出一个数k,问用k个斐波那契数相加,得不到的数最小是几. 解法:先暴力打表看看有没有规律 ...
- ACM学习历程—SNNUOJ 1116 A Simple Problem(递推 && 逆元 && 组合数学 && 快速幂)(2015陕西省大学生程序设计竞赛K题)
Description Assuming a finite – radius “ball” which is on an N dimension is cut with a “knife” of N- ...
随机推荐
- python3.x 与 python2.x 差别记录
从2.x过渡到3.x的时候,遇到了大大小小的坑,于是便记录下来- 1.print: 3.x 所有print都要加 "( )",print更像(就是)一个函数了. 2.x 可以加& ...
- sql注入------基于时间延迟benchmark函数注入脚本
#author:windy_2import requests urlx = 'http://127.0.0.1/?id= 1 and if((substr((select database()),' ...
- Tomcat(Windows)
百度云:链接:http://pan.baidu.com/s/1pKYrf79 密码:56t0 官网下载网址:http://archive.apache.org/dist/tomcat/tomca ...
- Django实现web端tailf日志文件
这是Django Channels系列文章的第二篇,以web端实现tailf的案例讲解Channels的具体使用以及跟Celery的结合 通过上一篇<Django使用Channels实现WebS ...
- SpringMVC表单对象绑定到@ModelAttribute
支持绑定表单对象 jsp: <%@ taglib prefix="form" uri="http://www.springframework.org/tags/fo ...
- JNDI总结(一)
一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");) ②连接数据库(Conn ...
- rabbitMQ_topic(五)
主题转发器 发送到主题转发器的消息不能有任意的 routing_key - 它必须是由点分隔的单词列表.这些单词可以是任何东西,但通常它们指定与消息相关联的一些功能.几个有效的routeKey示例:“ ...
- thymeleaf介绍
作者:纯洁的微笑出处:http://www.ityouknow.com/ 增加了一小部分内容 简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完 ...
- python pip安装requests库总提示:Fatal error in launcher...''
1.python pip安装提示:Fatal error in launcher...'' 我查看了网上都说是电脑同时安装了python2 和python3时候才会有这个错误,但实际上我电脑只安 ...
- redis缓存穿透,缓存击穿,缓存雪崩原因+解决方案
一.前言 在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是 ...