19-11-1-N
就剩一个键了……
以后怎么办呢?
也许可以试试字符映射表……(滑稽
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的更多相关文章
- Update 19.11 for Azure Sphere
今天,微软发布了面向Azure Sphere的19.11更新,其主要亮点就是加入了对开发工具Visual Studio Code和Linux开发环境的支持.具体来讲,本次更新包含3个部分: 1. Az ...
- HDU6029 Happy Necklace 2017-05-07 19:11 45人阅读 评论(0) 收藏
Happy Necklace Time Limit: ...
- 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 ...
- 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 ...
- Java每日一面(Part1:计算机网络)[19/11/25]
作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[2] 1.1Get请求和Post请求的区别 从三个层面来回答: 1.1.1 从HTTP报文层面: Get请求将请求信息放在UR ...
- Java每日一面(Part2数据库)[19/11/28]
作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.如何设计一个关系型数据库 如上图,首先划分成两大部分: 1.存储部分:类似一个文件系统,把数据存储到一个持久化设备中,如机械硬盘,固态等 ...
- Java每日一面(Part1:计算机网络)[19/11/13]
作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[1] 1.1 HTTP简介 HTTP协议,即超文本传输协议,属于应用层的协议,他是基于请求和响应模式的无状态的 应用层协议. ...
- Java每日一面(Part1:计算机网络)[19/11/02]
作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.TCP的滑动窗口 1.1 RTT和RTO的区别 RTT:发送一个数据包到收到对应的ACK,所花费的时间 RTO:重传时间间隔,TCP在发 ...
- JavaScript常用项目(更新至19.11.17)
目录 项目一:鼠标拖动方块 项目二:网页显示键入字母 项目三:实现滚播图 项目四: 本地数据记事本 项目一:鼠标拖动方块 代码: <!DOCTYPE html> <html> ...
- 软件工程(FZU2015)赛季得分榜,第11回合(beta冲刺+SE总结)
目录 第一回合 第二回合 第三回合 第四回合 第五回合 第6回合 第7回合 第8回合 第9回合 第10回合 第11回合 增补作业 积分规则 积分制: 作业为10分制,练习为3分制:alpha30分:b ...
随机推荐
- 20140331 HOG代码调试 Boost库安装
1.CUDAHOG代码调试 错误1: 错误提示:(main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall cudaHOG::cudaH ...
- 读取.properties配置文件(转载)
读取.properties 文件 配置文件的一种,内容以键值对的形式存在,且每个键值对独占一行.#号作为行注释的起始标志,中文注释会自动进行unicode编码.示例: # ip and port of ...
- jq 出现 $.cookie is not a function
出现这种问题有3中可能 1是没有导入cookie相关的库文件 2是cookie的库文件和jquery库文件的先后顺序问题, 必须先导入jquery库文件后到其他库文件 3一个页面由于二次或多次引入了j ...
- 《转》python 9 字典,numpy
http://www.cnblogs.com/BeginMan/p/3156960.html 一.映射类型 我理解中的映射类型是:键值对的关系,键(key)映射值(value),且它们是一对多的关系. ...
- 基于NEO4J的高级检索功能
基于NEO4J的高级检索 一.需求 二.创建索引 1.索引自动更新配置 2.执行带有索引自动更新配置的过程 三.查询索引 1.LUCENE查询语法 2.实现高级检索的核心:LUCENE QUERY语句 ...
- weblogic上传木马路径选择
对于反序列化漏洞,如果获得的是系统权限或者root权限,那就没必要上传木马,但如果只是web安装应用的权限,就上传获取更大权限. 上传需要找到几个点,获取物理路径,如下面三种: 方法1:把shell写 ...
- 网络请求NSLog结果不全
碰到了两次 NSLog请求结果只有一部分 如果NSLog语句中没有汉语就可以全部输出了,不清楚原因. NSLog(@"%@",object);//这样结果是全的 NSLog(@&q ...
- Oracle18C安装后首次创建数据库并用sql developer 创建连接和用户
注意: SQL Developer 不能用于创建Oracle数据库,只能用来连接已经创建的数据库,数据库的建立要通过Database Configuration Assistant(DBCA)来完成. ...
- Java Collection - HashMap
HashMap源码解析 java.util.HashMap 类 https://www.cnblogs.com/ysocean/p/8711071.html HashMap线程不安全的原因 https ...
- OrCAD(2) -- 编辑原理图库时的复制与粘贴
大家都知道,OrCAD元器件的管脚编辑是基于Excel的,但是在编辑原理图库的管脚的时候,大家应该都有体会'ctrl+c' 和 'ctrl+v' 的命令是不能用的. 这是因为该两个命令在OrCAD中都 ...