就剩一个键了……

以后怎么办呢?

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

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. DRF的请求响应组件

    目录 DRF的请求响应组件 请求模块(request) 概念 request源码简单分析 响应模块(response) 概念 使用方法 response源码简单分析: 解析模块(parse) 概念 使 ...

  2. JS事件 鼠标经过事件(onmouseover)鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。

    鼠标经过事件(onmouseover) 鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序. 现实鼠标经过"确定&quo ...

  3. SpringBoot Redis 订阅发布

    一  配置application.yml spring: redis: jedis: pool: max-active: 10 min-idle: 5 max-idle: 10 max-wait: 2 ...

  4. CF822F Madness

    题意:给你一棵边权都为1的树,要求选择互不相交的若干条路径,这些路径包含有所有点. 在每一条路径上选择一条边,放置一个动点,设置一个方向,它开始在该路径上来回运动,速度为1.每个点上都有一个停表,当有 ...

  5. leetcode-第10周双周赛-5099验证回文字符串③

    题目描述: 方法:动态规划 class Solution: def isValidPalindrome(self, s: str, k: int) -> bool: def isKPalRec( ...

  6. thinkphp 链接数据库

    ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理.目前的数据 ...

  7. DNS的解析过程

    1.什么是DNS 在互联网上,唯一标识一台计算机的是IP地址,但是IP地址不方便记忆,通过一个域名对应一个IP地址,来达到找到IP地址的目的,那么DNS就是将域名转换成IP地址的过程. 2.DNS查询 ...

  8. (转)[视频压制/转换技术] I帧 B帧 P帧 IDR帧 等帧用途详细说明

    转:http://www.u2game.net/bbs/thread-46116-1-1.html 在视频压制.转换中,经常会看到:I帧 B帧 P帧 IDR帧 等名词,这里就是通用的解释一下这些帧的用 ...

  9. System.Web.Mvc.HttpPostAttribute.cs

    ylbtech-System.Web.Mvc.HttpPostAttribute.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, ...

  10. vue-router路由跳转判断用户是否存在

    router.beforeEach((to, from, next) => { //console.log("to:", (to)); //console.log(" ...