就剩一个键了……

以后怎么办呢?

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

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. SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问 (也就是跨数据库访问出错)

    delphi ado 跨数据库访问 语句如下 ' and db = '帐套1' 报错内容是:SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATE ...

  2. POJ 1946 Cow Cycling

    Cow Cycling Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 2516   Accepted: 1396 Descr ...

  3. scrapy不抓取重复的网页解决办法

    1.scrapy爬虫遇到一个问题,有时候会对一个网页重复爬取提取不同的数据,这时候会发现,后面的那个重复爬取scrapy直接终止了. 原因: scrapy 的request逻辑里面  dont_fil ...

  4. pointer && reference

    关注点在于区别两者之间的不同. 我们可以从两者使用的场景进行区分: 1, 是否需要存在null的情况: YES-pointer NO-reference 如果确定不会存在null的情况,那么使用ref ...

  5. jupyter中使用graphviz

    参考: https://www.cnblogs.com/zhanjiahui/p/11335038.html https://blog.csdn.net/linxid/article/details/ ...

  6. JQuery ajax提交表单及表单验证

    JQuery ajax提交表单及表单验证 博客分类: jsp/html/javascript/ajax/development Kit 开源项目   注:经过验证,formValidator只适合一个 ...

  7. JavaScript - 判断当前使用的浏览器类型

    <script> window.onload = function() { // 判断当前使用的浏览器类型 var browserType = navigator.userAgent.to ...

  8. react 高阶组件之小学版

    高阶组件  多么高大上的概念,一般用来实现组件逻辑的抽象和复用,在很多三方库(redux)中都被使用到,但是开发普通有任务项目时,如果能合理使用高阶组件,也会显著的提高代码质量. 我们今天就用最简单的 ...

  9. re.groups取出来的空元祖??

    源自学习笔记: day23_1_re_ groups方法取出来的字符是空的元组??为啥? ''' # ------------------------------------------------- ...

  10. C# 字符串的日期比较

    SearchResult = SearchResult.Where(v => (DateTime.Parse(v.CreateTime.ToString("yyyy/MM/dd&quo ...