【CYH-02】NOIp考砸后虐题赛:转换式:题解
这道题真的不难吧。
如@AKEE@AKEE@AKEE 大佬所说,此题的确可以将n推广到一般情况。
但题面还是良心的只到了N<=4N<=4N<=4
以目前的题目来看,简单模拟即可。
分别弄N=1,2,3,4N=1,2,3,4N=1,2,3,4的情况判断就行。
下面奉上std
代码:
#include<bits/stdc++.h>
#define L 1000001
using namespace std;
long long int a[100001],b,c,d,e,x=0,xx=2;
long long int mo=10000029;
int main() {
int n,t,N;
cin>>N;
if(N==1) {
cin>>n>>b;
a[0]=1;
for(int i=1; i<=n; i++) {
a[i]=a[i-1]*b%mo;
}
if(a[n]>=0)cout<<a[n];
else cout<<a[n]+mo;
return 0;
}
if(N==2) {
cin>>n>>b>>c;
a[1]=b;
a[2]=a[1]*a[1]-c*xx;
a[2]%=mo;
if(a[n]!=x) {
cout<<a[n]<<endl;
}
for(int j=3; j<=n; j++) {
if(a[j]!=x)continue;
a[j]=a[j-1]*b-a[j-2]*c;
a[j]%=mo;
}
if(a[n]>=0)cout<<a[n];
else cout<<a[n]+mo;
return 0;
}
if(N==3) {
cin>>n>>b>>c>>d;
a[0]=3;
a[1]=b;
a[2]=b*b-2*c;
a[2]%=mo;
for(int i=3; i<=n; i++) {
a[i]=b*a[i-1]-c*a[i-2]+d*a[i-3];
a[i]%=mo;
}
if(a[n]>=0)cout<<a[n];
else cout<<a[n]+mo;
return 0;
}
if(N==4) {
cin>>n>>b>>c>>d>>e;
a[0]=4;
a[1]=b;
a[2]=b*b-2*c;
a[2]%=mo;
a[3]=b*(a[2]-c)+3*d;
a[3]%=mo;
for(int i=4; i<=n; i++) {
a[i]=b*a[i-1]-c*a[i-2]+d*a[i-3]-e*a[i-4];
a[i]%=mo;
}
if(a[n]>=0)cout<<a[n];
else cout<<a[n]+mo;
return 0;
}
return 0;
}
【CYH-02】NOIp考砸后虐题赛:转换式:题解的更多相关文章
- 【CYH-02】NOIp考砸后虐题赛:坐标:题解
代码: 这道题也并不难,用排序+简单动规即可.因为@Kevin_Wa 大佬放的是c++,所以我来一发Pascal. var min,max,i,a1,b1,c1,d1,n:longint; a,b,c ...
- 【CYH-02】NOIp考砸后虐题赛:数学:题解
赛后放上.
- 【CYH-02】NOIp考砸后虐题赛:函数:题解
这道题貌似只有@AKEE 大佬A掉,恭喜! 还有因为c++中支持两个参数数量不同的相同名称的函数调用,所以当时就没改成两个函数,这里表示抱歉. 这道题可直接用指针+hash一下,然后就模拟即可. 代码 ...
- 【CYH-02】NOIp考砸后虐题赛:成绩:题解
这道题挺送水了吧... 两种做法. 其实空间都不需要那么大,我来提交界面一看一堆MLE的,于是还是良心的放开了时限. 这么简单,就不做解释了. 下面放出几种代码. 代码: 两个数组: #include ...
- CYJian的新春虐题赛
题解: t1: 算了一下发现乘法也是可以莫比乌斯反演的 然后就直接对原式莫比乌斯反演了 大概加法是$\mu {(i)}*f(i)$ 乘法就是$f(i)^{\mu {(i)}}$ 然后这个算法成功达到$ ...
- noip做题记录+挑战一句话题解?
因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...
- 退役II次后做题记录
退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) ...
- 退役IV次后做题记录
退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车 ...
- 退役III次后做题记录(扯淡)
退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计 ...
随机推荐
- .net的数据类型说明
C#提供称为简单类型的预定义结构类型集,简单类型通过保留字标识, 而这些保留字只是System命名空间中预定义结构类型的别名. 保留字与预定义结构类型的对应如下: 保留字 预定义结构类型 sbyte ...
- 高启全:长江存储自主3D NAND,DRAM研发欢迎美光一起加入(千秋大业,慢慢做)
台湾DRAM教父高启全转战大陆紫光集团操盘存储器大计划超过1年,日前晋升长江存储的执行董事.代行董事长,接受DIGITIMES独家专访公开未来规划:他指出,已齐聚500名研发人员在武汉投入3D NAN ...
- 什么水平算精通C++ Builder?
主 题: 大家讨论一下什么水平算精通C++ Builder?(我这样算什么,马上要毕业了,不知道如何评价自己) //C++ builder 使用时间3年 熟悉VCL源代码 开发过3 ...
- c#基于Tablet pc实现的手写输入
需要安装Tablet pc,win7的话 直接在控制面板>程序和应用>添加组建里面勾选上添加 然后就是下面的程序了,看代码 设计文件 namespace 手写识别 { partial cl ...
- 【转】简单的jQuery插件开发方法
在实际开发工作中,总会碰到像滚动,分页,日历等展示效果的业务需求,对于接触过jQuery以及熟悉jQuery使用的人来说,首先想到的肯定是寻找现有的jQuery插件来满足相应的展示需求.目前页面中常用 ...
- web.congfig 禁用 ViewState Session
<!--禁用 ViewState Session--> <pages enableViewState="false" enableSessionState=&qu ...
- 11 CSS的三种引入方式和基本选择器
<!-- 整体说明: 1.CSS的三种引入方式 (1)行内样式 (2)内接样式 (3)外接样式 2.CSS的基本选择器 (1)id选择器 (引用方式:#id) (2)标签选择器(引用方式:标签名 ...
- Spring Boot2(三):使用Spring Boot2集成Redis缓存
前言 前面一节总结了SpringBoot实现Mybatis的缓存机制,但是实际项目中很少用到Mybatis的二级缓存机制,反而用到比较多的是第三方缓存Redis. Redis是一个使用ANSI C编写 ...
- python文件及路径管理函数
glob模块 说明: 1.glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索, 支持通配符操作 *.?.[] 这三个通配符,*代表0 ...
- Django框架rest_framework中APIView的as_view()源码解析、认证、权限、频率控制
在上篇我们对Django原生View源码进行了局部解析:https://www.cnblogs.com/dongxixi/p/11130976.html 在前后端分离项目中前面我们也提到了各种认证需要 ...