2017 Multi-University Training Contest - Team 8
HDU6140 Hybrid Crystals
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6140
题目意思:这场多校是真的坑,题目爆长,心态爆炸,题目意思就是给定一个序列。序列的每个值都有属性,N代表可加可减,L代表只能加,D代表只能减,当然这些都可以用或者不用。给定一个k,问k是否可能用这个序列构成。
思路: 源头都来自这个奇怪的式子

解释一下这个式子什么意思:
如果b[i]是N那么所有b[j](j<i)属性是N的和大于b[i]。
如果b[i]是L那么所有b[j](j<i)属性是N和L的和小于b[i]。
如果b[i]是L那么所有b[j](j<i)属性是N和R的和小于b[i]。

偷个懒直接把题解截图过来。因为题目保证一开始a[1]=1,且type=N,那么一开始我们可以表示[-1,1]范围内的整数,现在a[2]<=a[1],假设a[2]=1,那么如果type为L那么我们现在就可以表示[-2,1]范围内的所有整数了,如果type为R就可以表示[-1,2]范围内的整数了。所以以此类推,再结合上述题解中的解释,我们只需要从头到尾扫一遍就知道,是否可以构成指定整数了,思维题啊!!!
代码:
//Author: xiaowuga
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>
#include <queue>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <ctime>
#include <map>
#include <bitset>
#include <cctype>
#define maxx INT_MAX
#define minn INT_MIN
#define inf 0x3f3f3f3f
#define mem(s,ch) memset(s,ch,sizeof(s))
#define nc cout<<"nc"<<endl
#define sp " "
const long long N=;
using namespace std;
typedef long long LL;
typedef int II;
II n,k;
II a[+];
char b[+];
int main() {
ios::sync_with_stdio(false);cin.tie();
II T;
cin>>T;
while(T--){
cin>>n>>k;
for(II i=;i<n;i++) cin>>a[i];
for(II i=;i<n;i++){
cin>>b[i];
}
II l=,r=;
for(II i=;i<n;i++){
if(b[i]=='N'){l-=a[i]; r+=a[i];}
else if(b[i]=='L') r+=a[i];
else l-=a[i];
}
if(k>=l&&k<=r) cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
return ;
}
HDU6143 Killer Names
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6143
题目意思:要求构造若干名字,名字包括 first name last name 两部分,均需包含 n 个字符,已知有 m 种字符供选择,求最多有多少种不同的构造方法,使得 first name 和 last name 不含相同字符。
题目思路:不想说什么……组合数学,自己百度第二类斯特林数,公式就是∑C(m,i)*S(n,i)*A[i]*(m-i)^n,好好理解一下这个公式,第二类斯特林数就是n个无差别的坑和i个东西,要把东西放进去有多少种放法,现在注意我们这里是有差别的,所以再乘一个阶乘数就可以了。
代码:
//Author: xiaowuga
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>
#include <queue>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <ctime>
#include <map>
#include <bitset>
#include <cctype>
#define maxx INT_MAX
#define minn INT_MIN
#define inf 0x3f3f3f3f
#define mem(s,ch) memset(s,ch,sizeof(s))
#define nc cout<<"nc"<<endl
#define sp " "
const long long N=+;
const long long mod=1e9+;
using namespace std;
typedef long long LL;
typedef int II;
LL C[N][N]={},S[N][N]={},A[N]={};
void init(){
for(II i=;i<N;i++) C[i][]=;
for(II i=;i<N;i++)
for(II j=;j<=i;j++){
C[i][j]=(C[i-][j]+C[i-][j-])%mod;
}
A[]=;
for(II i=;i<N;i++){
A[i]=A[i-]*i%mod;
}
for(II i=;i<N;i++){
S[i][i]=;
if(i>=) S[i][]=;
for(II j=;j<i;j++)
S[i][j]=(j*S[i-][j]+S[i-][j-]+mod)%mod;
}
}
LL q_power(LL a,LL k){
LL ans=;
while(k){
if(k%) ans=(ans*a%mod+mod)%mod;
k/=;
a=(a*a%mod+mod)%mod;
}
return ans;
}
int main() {
ios::sync_with_stdio(false);cin.tie();
II T;
init();
cin>>T;
II n,m;
LL ans=;
while(T--){
cin>>n>>m;
ans=;
for(II i=;i<=m-;i++){
LL t1=C[m][i]*S[n][i]%mod;
t1=t1*A[i]%mod;
LL t2=q_power((m-i),n)%mod;
LL tmp=t1*t2%mod;
ans=(ans+tmp)%mod;
}
cout<<ans<<endl;
}
return ;
}
2017 Multi-University Training Contest - Team 8的更多相关文章
- 2017 Multi-University Training Contest - Team 9 1005&&HDU 6165 FFF at Valentine【强联通缩点+拓扑排序】
		
FFF at Valentine Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
 - 2017 Multi-University Training Contest - Team 9 1004&&HDU 6164 Dying Light【数学+模拟】
		
Dying Light Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Tot ...
 - 2017 Multi-University Training Contest - Team 9 1003&&HDU 6163 CSGO【计算几何】
		
CSGO Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...
 - 2017 Multi-University Training Contest - Team 9 1002&&HDU 6162 Ch’s gift【树链部分+线段树】
		
Ch’s gift Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
 - 2017 Multi-University Training Contest - Team 9 1001&&HDU 6161 Big binary tree【树形dp+hash】
		
Big binary tree Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
 - 2017 Multi-University Training Contest - Team 1 1003&&HDU 6035 Colorful Tree【树形dp】
		
Colorful Tree Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
 - 2017 Multi-University Training Contest - Team 1 1006&&HDU 6038 Function【DFS+数论】
		
Function Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total ...
 - 2017 Multi-University Training Contest - Team 1 1002&&HDU 6034 Balala Power!【字符串,贪心+排序】
		
Balala Power! Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
 - 2017 Multi-University Training Contest - Team 1 1011&&HDU 6043 KazaQ's Socks【规律题,数学,水】
		
KazaQ's Socks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
 - 2017 Multi-University Training Contest - Team 1 1001&&HDU 6033 Add More Zero【签到题,数学,水】
		
Add More Zero Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
 
随机推荐
- 计算机图形学(一) 视频显示设备_1_CRT原理
			
第 1 章 图形系统概述 如今.计算机图形学的作用与应用已经得到了广泛承认.大量的图形硬件和软件系统已经应用 到了差点儿全部的领域.通用计算机甚至很多手持计算器也已经普遍具备 二维及三维 ...
 - 再谈Nginx Rewrite, 中文URL和其它
			
上次谈到过Nginx和中文URL的问题,这几天又加深了认识. 多分享几个关于Nginx Rewrite的经验. Nginx匹配指定中文URL的方法:rewrite "(*UTF8)^x{66 ...
 - vue2.0项目的环境配置以及有哪些的坑
			
npm run dev项目运行:$ git pull origin master 更新代码项目的提交代码git push -u origin master 这里就开始准备提交到网络上了 项目的地址gi ...
 - 深入浅出Spring(一)Spring概述
			
现在很多的企业级项目中基本上都会用到了Spring框架,那么为什么会出现Spring,Spring是什么?这次的博文我主要为大家简单介绍一下Spring. Java EE优缺点 我们都知道在2003年 ...
 - c#第一个程序-计算平方根
			
上课教的内容.做笔记了. using System; using System.Collections.Generic; using System.ComponentModel; using Syst ...
 - [算法]滴滴笔试题——求最大子串和(O(n)复杂度)
			
扫描法.一次扫描数组即可得出答案,复杂度O(n).这种方法用文字描述不容易说清楚,下面用每一步运算的图示来表达.伪代码如下: maxsofar=end=; ,n) end=max(end+x[i],) ...
 - 构造 - Codeforces Round #319 (Div. 1)C. Points on Plane
			
Points on Plane Problem's Link Mean: 在二维坐标中给定n个点,求一条哈密顿通路. analyse: 一开始忽略了“无需保证路径最短”这个条件,一直在套最短哈密顿通路 ...
 - 第二百七十九节,MySQL数据库-pymysql模块操作数据库
			
MySQL数据库-pymysql模块操作数据库 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数使用方式: 模块名称.connec ...
 - c# http请求,获取非200时的响应体
			
HttpWebResponse res = null; try { res = request.GetResponse() as HttpWebResponse; } catch (WebExcept ...
 - ThinkPHP无限级分类
			
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ ...