就剩一个键了……

以后怎么办呢?

也许可以试试字符映射表……(滑稽

ZJ一下:

我还以为我要死了……

40
Miemeng 10

03:21:50
80

03:21:51
10

03:21:51
100

03:21:51

注意T2的文件提交为AC100的,所以应为$120$分。

T1觉得不会,于是先扔了(只看到$10$分)

T2又以为是容斥,事实上发现只是一个$dp$,和内个伊凡挺像的。

T3只会暴力,先不管它。

最后只有一个问题:

T1的规律找到但是打错了,挂了40分

以后不仅要检查暴力,还要查乱搞和思路的一致性!

这是TJ:

T1

窝只会找规律。

#include <iostream>
#include <cstring>
#include <cstdio>
#define LL long long
#define N 111111
using namespace std; LL pn,arr[N],val[N];
const int Mod=1e9+7; LL ppow(LL a,LL b){
LL res=1;
while(b){
if(b&1)res=res*a%Mod;
a=a*a%Mod;
b>>=1;
}
return res;
}
inline LL magic_function(LL v){
return (ppow(2,v)-1+Mod)%Mod;
}
int main(){
#ifndef LOCAL
freopen("game.in" ,"r",stdin);
freopen("game.out","w",stdout);
#endif
cin.sync_with_stdio(false);
cin>>pn;
for(int i=1;i<=pn;i++){
cin>>arr[i];
if(arr[i]!=-1)
val[arr[i]]++;
}
LL beg=0;
for(int i=1;i<=pn;i++){
beg+=magic_function(val[i]);
beg%=Mod;
}
LL aft=magic_function(pn-1);
cout<<(aft-beg+Mod)%Mod<<endl;
}

T2

一个sbdp,我一个dpsb和它搏斗了近一个半小时。

先:设$f_{i}$为处理出来前$i$个的方案数。

发现不行,不行就多设一维,

设了以后……

  • $f_{i,0}$为第$i$位和第$i-1$位不同的方案数。
  • $f_{i,1}$为第$i$位和第$i-1$位相同的方案数。
  • $f_{i,2}$为第$i$位和第$i-1,i-2$位都相同的方案数。
  • $f_{i,3}$为第$i$位和第$i-1$位不同,且之前已有一个区间为$3$连的方案数。
  • $f_{i,4}$为第$i$位和第$i-1$位相同,且之前已有一个区间为$3$连的方案数。

于是暴力转移即可:

//flower

#include <iostream>
#include <cstring>
#include <cstdio>
#define LL long long
#define N 111111 using namespace std; const int Mod=1e9+7; LL dp[N][5];
LL len,kn;
LL ppow(LL a,LL b){
LL res=1;
while(b){
if(b&1)res=res*a%Mod;
a=a*a%Mod;
b>>=1;
}
return res;
}
void prerun(){
dp[1][0]=kn%Mod;
dp[2][0]=(kn*kn%Mod-kn%Mod+Mod)%Mod;
dp[2][1]=kn%Mod;
for(int i=3;i<=len;i++){
dp[i][0]=(dp[i-1][1]*(kn-1)%Mod
+dp[i-1][0]*(kn-1)%Mod)%Mod;
dp[i][1]=dp[i-1][0];
dp[i][2]=dp[i-1][1];
dp[i][3]=((dp[i-1][2]*(kn-1)%Mod
+dp[i-1][3]*(kn-1)%Mod)%Mod
+dp[i-1][4]*(kn-1)%Mod)%Mod;
dp[i][4]=dp[i-1][3];
}
}
int main(){//sbdp vs dpsb
#ifndef LOCAL
freopen("flower.in" ,"r",stdin);
freopen("flower.out","w",stdout);
#endif
cin.sync_with_stdio(false);
int T;
cin>>T;
while(T--){
LL ans=0;
cin>>len>>kn;
if(len==3){
cout<<kn%Mod<<endl;
continue;
}
prerun();
ans=((dp[len][2]+dp[len][3])%Mod+dp[len][4])%Mod;
cout<<ans<<endl;
}
}

19-11-1-N的更多相关文章

  1. Update 19.11 for Azure Sphere

    今天,微软发布了面向Azure Sphere的19.11更新,其主要亮点就是加入了对开发工具Visual Studio Code和Linux开发环境的支持.具体来讲,本次更新包含3个部分: 1. Az ...

  2. HDU6029 Happy Necklace 2017-05-07 19:11 45人阅读 评论(0) 收藏

    Happy Necklace                                                                           Time Limit: ...

  3. hdu 1053 (huffman coding, greedy algorithm, std::partition, std::priority_queue ) 分类: hdoj 2015-06-18 19:11 22人阅读 评论(0) 收藏

    huffman coding, greedy algorithm. std::priority_queue, std::partition, when i use the three commente ...

  4. Let the Balloon Rise 分类: HDU 2015-06-19 19:11 7人阅读 评论(0) 收藏

    Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  5. Java每日一面(Part1:计算机网络)[19/11/25]

    作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[2] 1.1Get请求和Post请求的区别 从三个层面来回答: 1.1.1 从HTTP报文层面: ​ Get请求将请求信息放在UR ...

  6. Java每日一面(Part2数据库)[19/11/28]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.如何设计一个关系型数据库 如上图,首先划分成两大部分: ​ 1.存储部分:类似一个文件系统,把数据存储到一个持久化设备中,如机械硬盘,固态等 ​ ...

  7. Java每日一面(Part1:计算机网络)[19/11/13]

    作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[1] 1.1 HTTP简介 ​ HTTP协议,即超文本传输协议,属于应用层的协议,他是基于请求和响应模式的无状态的 应用层协议. ...

  8. Java每日一面(Part1:计算机网络)[19/11/02]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.TCP的滑动窗口 1.1 RTT和RTO的区别 ​ RTT:发送一个数据包到收到对应的ACK,所花费的时间 ​ RTO:重传时间间隔,TCP在发 ...

  9. JavaScript常用项目(更新至19.11.17)

    目录 项目一:鼠标拖动方块 项目二:网页显示键入字母 项目三:实现滚播图 项目四:   本地数据记事本 项目一:鼠标拖动方块 代码: <!DOCTYPE html> <html> ...

  10. 软件工程(FZU2015)赛季得分榜,第11回合(beta冲刺+SE总结)

    目录 第一回合 第二回合 第三回合 第四回合 第五回合 第6回合 第7回合 第8回合 第9回合 第10回合 第11回合 增补作业 积分规则 积分制: 作业为10分制,练习为3分制:alpha30分:b ...

随机推荐

  1. Harry and magic string HDU - 5157 记录不相交的回文串对数

    题意: 记录不相交的回文串对数 题解: 正着反着都来一遍回文树 用sum1[i] 表示到 i 位置,出现的回文串个数的前缀和 sun2[i]表示反着的个数 ans+=sum1[i-1]*sum2[i] ...

  2. mysql中重复数据只取条

    select * from table_a where id in (select min(id) from table_a group by a) )) SUBSTRING_INDEX(cids,' ...

  3. Hive系统架构

  4. matlab 求已知概率密度函数的随机数生成

    N=10000; %需要随机数的个数 a=zeros(N,1); %存放随机数的数列 n=0; f1=@(t) 1./(1.2*pi*(1+5*(t-7.3).^2)); f2=@(t) 1./(1. ...

  5. js隐式类型转换,预编译、递归、作用域,作用域链、闭包、立即执行函数、继承圣杯模式

    隐式类型转换 调用Number()当有运算符(加减乘除,求余)时,会调用Number()转为数字再运算,除了 加 当 有字符串时就变身成拼接Boolean();String(); typeof()st ...

  6. Erlang学习记录:app demo

    目录结构 │ Emakefile │ make.bat │ start.bat ├─config │ config.config │ server.app ├─ebin │ wulin_app.bea ...

  7. 关于Modelsim安装闪退

    在盗版Windows系统上,安装Modelsim时可能出现闪退. 现象表现为,在任务管理器中仍然有Modelsim的进程,但是看不到安装界面. 碰到这种情况可以尝试如下方法:退到安全模式下安装. 一般 ...

  8. Centos7 下修改日期

    Centos7 下修改日期 2017年11月19日 19:37:47 harris135 阅读数:2851    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csd ...

  9. 20175323《Java程序设计》第四周学习总结

    教材学习内容总结 我用幕布记录学习过程和思路,下面是我这章的知识框架总结https://mubu.com/doc/ffMhY6FVc0 教材学习中的问题和解决过程 问题1:教材121页的例六Examp ...

  10. CSS 兼容性调试技巧

    CSS HACK 针对不同浏览器,书写不同的CSS代码的过程,称为“CSS HACK”. 也就是说:写一个CSS代码,让IE6识别,其它浏览器不识别. 下面,针对不同浏览器,有几个符号: 这些符号是在 ...