就剩一个键了……

以后怎么办呢?

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

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. netty UnpooledHeapByteBuf 源码分析

    UnpooledHeapByteBuf 是基于堆内存进行内存分配的字节缓冲区,没有基于对象池技术实现,这意味着每次I/O的读写都会创建一个新的UnpooledHeapByteBuf,频繁进行大块内存的 ...

  2. Leetcode976. Largest Perimeter Triangle三角形的最大周长

    给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的.面积不为零的三角形的最大周长. 如果不能形成任何面积不为零的三角形,返回 0. 示例 1: 输入:[2,1,2] 输出:5 示例 2 ...

  3. 测试用例覆盖率converage

    当报如下错误: TypeError: 'ModuleImportFailure' object is not iterable 或者 TypeError: '_FailedTest' object i ...

  4. try install gitlab ce at docker ce

    sudo docker run --detach \ --env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.1.30:8087/ ...

  5. 树莓派3B+ 人脸识别、摄像头安装和使用

    最近在学校里折腾树莓派上的人脸识别,折腾了很久才能用 在此记录下使用的过程和遇到的困难 过程基于超有趣!手把手教你使用树莓派实现实时人脸检测完成的.其中前面opencv的安装是文章中的Raspbian ...

  6. SPR, subpixel rendering

    参考例子:https://www.grc.com/ctwhat.htm https://en.wikipedia.org/wiki/Subpixel_rendering http://archernz ...

  7. 【转载】TCP拥塞控制算法 优缺点 适用环境 性能分析

    [摘要]对多种TCP拥塞控制算法进行简要说明,指出它们的优缺点.以及它们的适用环境. [关键字]TCP拥塞控制算法 优点    缺点   适用环境公平性 公平性 公平性是在发生拥塞时各源端(或同一源端 ...

  8. thinkphp for标签

    用法: 大理石平台厂家 <for start="开始值" end="结束值" comparison="" step="步进值 ...

  9. delphi判断MDI窗体的子窗体是否存在

    转]delphi判断MDI窗体的子窗体是否存在//*************************************************************************** ...

  10. (转)第04节:Fabric.js用路径画不规则图形

    在Canvas上画方形.圆形.三角形都是很容易的,只要调用fabric对应的方法就可以了,但这些都是规则的图形,如果你想画一个不规则的图形,这时候你可以用fabric.js提供的路径绘图方法.所谓路径 ...