NOIp2018集训test-9-17(pm)
T1记忆(memory)
我大概是只记忆只有七秒的金鱼吧。看了下以前的代码发现真的很简单,但是考场上只打了个暴力,虽然骗了88pt。就是枚举选的是哪个串,然后vis[i]表示选了i这些位能不能猜出它,然后dp选到i这个状态的概率。
//Achen
#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);i++)
#define Rep(i,a,b) for(int i=(a);i>=(b);i--)
#define Formylove return 0
const int N=,M=;
using namespace std;
typedef long long LL;
typedef double db;
int n,len,vis[M],cnt[M];
char S[][];
db p[M],ans; template<typename T>void read(T &x) {
char ch=getchar(); T f=; x=;
while(ch!='-'&&(ch<''||ch>'')) ch=getchar();
if(ch=='-') f=-,ch=getchar();
for(;ch>=''&&ch<='';ch=getchar()) x=x*+ch-''; x*=f;
} #define ANS
int main() {
#ifdef ANS
freopen("memory.in","r",stdin);
freopen("memory.out","w",stdout);
#endif
read(n);
For(i,,n) scanf("%s",S[i]);
len=strlen(S[]);
int up=(<<len)-;
For(s,,up) {
int tp=s;
while(tp) {
tp-=(tp&(-tp));
cnt[s]++;
}
}
For(i,,n) {
For(j,,n) if(i!=j) {
int t=;
For(k,,len-) if(S[i][k]==S[j][k])
t|=(<<k);
vis[t]=i;
}
Rep(s,up,) if(vis[s]==i) {
For(j,,len-) if(s&(<<j))
vis[s^(<<j)]=i;
}
For(j,,up) p[j]=;
p[]=1.0/(1.0*n);
For(s,,up) if(p[s]!=) {
if(vis[s]!=i) ans+=p[s]*cnt[s];
else {
For(j,,len-) if(!(s&(<<j))) {
p[s|(<<j)]+=p[s]*(1.0/(1.0*(len-cnt[s])));
}
}
}
}
printf("%.10lf\n",ans);
Formylove;
}
/*
3
aaA
aBa
Caa
*/
正解如注释。看到n有50就不想用二进制表示n的情况,真是太蠢了。
//Achen
#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);i++)
#define Rep(i,a,b) for(int i=(a);i>=(b);i--)
#define Formylove return 0
const int M=;
using namespace std;
typedef long long LL;
typedef double db;
int n,len,tot[M],cnt[M];
LL no[M];
char s[][];
db f[M],ans; template<typename T>void read(T &x) {
char ch=getchar(); T f=; x=;
while(ch!='-'&&(ch<''||ch>'')) ch=getchar();
if(ch=='-') f=-,ch=getchar();
for(;ch>=''&&ch<='';ch=getchar()) x=x*+ch-''; x*=f;
} #define ANS
int main() {
#ifdef ANS
freopen("memory.in","r",stdin);
freopen("memory.out","w",stdout);
#endif
read(n);
For(i,,n) scanf("%s",s[i]);
len=strlen(s[]);
int up=(<<len)-;
For(i,,n) For(j,,n) if(i!=j) {
int t=;
For(k,,len-) if(s[i][k]==s[j][k])
t|=(<<k);
no[t]|=(1LL<<i);
no[t]|=(1LL<<j);
}//no[t]:t状态下不能分清的串
Rep(i,up,)
For(j,,len-) if(i&(<<j))
no[i^(<<j)]|=no[i];
Rep(i,up,) {
LL tp=no[i];
while(tp) {
tot[i]++;
tp-=(tp&(-tp));
} //tot[i]:i状态下不能分清的串的个数
int t=i;
while(t) {
cnt[i]++;
t-=(t&(-t));
}//i中1的个数
}
Rep(i,up,) if(tot[i]) { //i状态下期望猜多少次
db c=len-cnt[i];//还没被猜到的位数
For(j,,len-) if(!(i&(<<j))) {
db t1=tot[i],t2=tot[i|(<<j)];
f[i]+=(t2/t1*(f[i|(<<j)]+1.0)+(t1-t2)/t1)/c;
}
}
printf("%.10lf\n",f[]);
Formylove;
}
/*
3
aaA
aBa
Caa
*/
T2神经元(neuron)
prufer序列的水题,f[i][j]表示放了i个数进序列序列长度为j的方案数,k的答案就是序列长度为k-2的方案乘上看有多少个叶子,在剩下的点里选那么多个叶子的方案。
//Achen
#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);i++)
#define Rep(i,a,b) for(int i=(a);i>=(b);i--)
#define Formylove return 0
const int N=,p=1e9+;
using namespace std;
typedef long long LL;
typedef double db;
int n,d[N];
LL f[N][N],C[N][N]; template<typename T>void read(T &x) {
char ch=getchar(); T f=; x=;
while(ch!='-'&&(ch<''||ch>'')) ch=getchar();
if(ch=='-') f=-,ch=getchar();
for(;ch>=''&&ch<='';ch=getchar()) x=x*+ch-''; x*=f;
} LL mo(LL x) { return x>=p?x-p:x; } #define ANS
int main() {
#ifdef ANS
freopen("neuron.in","r",stdin);
freopen("neuron.out","w",stdout);
#endif
read(n);
For(i,,n) read(d[i]);
For(i,,n) C[i][]=;
For(i,,n) For(j,,i) C[i][j]=(C[i-][j]+C[i-][j-])%p;
f[][]=;
For(x,,n) {
Rep(i,x,) Rep(j,n-,) if(f[i][j]) {
For(l,,min(n--j,d[x]-))
f[i+][j+l]=mo(f[i+][j+l]+f[i][j]*C[j+l][l]%p);
}
}
For(i,,n) {
if(i==) printf("%d ",n);
else if(i==) {
if(i!=n) printf("%lld ",C[n][]);
else printf("%lld\n",C[n][]);
}
else {
LL rs=;
For(j,,i) rs=mo(rs+f[j][i-]*C[n-j][i-j]%p);
if(i!=n) printf("%lld ",rs);
else printf("%lld\n",rs);
}
}
Formylove;
}
T3子串(substring)
sam上维护lct的题,没看,noip后要是没退役再来写吧。
NOIp2018集训test-9-17(pm)的更多相关文章
- NOIp2018集训test-10-24(am&pm)
李巨连续AK三场了,我跟南瓜打赌李巨连续AK七场,南瓜赌李巨连续AK五场. DAY1 T1 qu 按题意拿stack,queue和priority_que模拟即可.特判没有元素却要取出的情况. T2 ...
- NOIp2018集训test-9-21(am/pm)
Am DAY1 抄代码 送分题 //Achen #include<bits/stdc++.h> #define For(i,a,b) for(int i=(a);i<=(b);i++ ...
- NOIp2018集训test-9-19(am&pm)
AM 这是一套在长沙考过而且我能记得全部正解的题,然后期望得分300实际得分155. T1 很套路,随便搞(我当年是怎么花大半场时间写T1并且写出现在两倍长的代码的??) //Achen #inclu ...
- NOIp2018集训test-9-22(am/pm) (联考三day1/day2)
szzq学长出的题,先orz一下. day1 倾斜的线 做过差不多的题,写在我自己的博客里,我却忘得一干二净,反而李巨记得清清楚楚我写了的. 题目就是要最小化这个东西 $|\frac{y_i-y_j} ...
- NOIp2018集训test-9-8(pm) (联考一day2)
把T1题读错了,想了一个多小时发现不可做.然后打了t2,常数不优秀.然后去打t3,lct,结果打挂爆0了. 然后今天就爆炸了. 如果这是noip我今年就可以直接回去学常规了.学常规多好,多开心. 今天 ...
- NOIp2018集训test-9-7(pm) (联考一day1)
又被辉神吊打了.今天不仅被辉神李巨吊打,还给基本上给全班垫底了. 看到T3就知道是十进制快速幂,全机房考试的当时应该就我会,结果我tm没找到递推. Orz lyc BM直接水过,Orz wys六个fo ...
- NOIp2018集训test-9-6(pm)
T1T2是洛谷原题.Orz辉神290,被辉神吊起来打. 题 1 包裹快递 二分答案.这题似乎卡精度,不开long double二分500次都过不去. //Achen #include<algor ...
- NOIp2018集训test-9-5(pm)
老张说:这套题太简单啦,你们最多两个小时就可以AK啦! 题 1 数数 我看到T1就懵了,这就是老张两个小时可以AK的题的T1?? 然后我成功地T1写了1h+,后面1h打了t2.t3暴力,就很开心. 等 ...
- NOIp2018集训test-9-2(pm)
其实这套题我爆0了,T1define 写成ddefine编译错误 T2有两个变量爆int 但是我看zwh不在悄悄地改了,我心里还是十分愧疚(没有)的.主要是林巨已经虐我125了要是再虐我200分我大概 ...
随机推荐
- jQuery实现点击按钮展开和收起
html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...
- SQL的判断重复新增或者修改
<insert id="insertTankStatisticData" parameterType="java.util.Map"> <se ...
- 【LeetCode 16】最接近的三数之和
题目链接 [题解] 上一道题那个算法求三个数的和为0的时候,其实就是一个不断在逼近本题中x=0的情况. 那么就套用上面那道题的做法. 在逼近的时候,取个差值的最小值就好了. [代码] class So ...
- bzoj1066题解
[解题思路] 考虑拆点,把每根石柱拆成两个点,具体可以理解为石柱底部和石柱顶部,能爬到石柱顶部的蜥蜴只有有限只,而且蜥蜴只有爬到了石柱顶部才能跳到其他石柱的底部. 这样,考虑如下建图: 将每个有蜥蜴的 ...
- web服务器环境搭建(及请求代理)
集成开发环境:(前端开发还是使用下面单独的web服务器比较好,前后端分离会用到代理的功能) 1.安装xampp时,软件会自动安装 微软的 Microsoft Visual C++ 2008 Redi ...
- 【Shiro】一、Apache Shiro简介
一.Apache Shiro简介 1.简介 一个安全性框架 特点:功能丰富.使用简单.运行独立 核心功能: Authentication(认证):你是谁? Authorization(授权):谁能干什 ...
- (转)openfire插件开发(一)
转:http://blog.csdn.net/lovexieyuan520/article/details/37774909 1. 在上一篇博文中,我介绍了Openfire3.9.3源代码导入ecli ...
- CSS:CSS 尺寸 (Dimension)
ylbtech-CSS:CSS 尺寸 (Dimension) 1.返回顶部 1. CSS 尺寸 (Dimension) CSS 尺寸 (Dimension) 属性允许你控制元素的高度和宽度.同样,它允 ...
- (14)centos7 进程管理
一.查询进程 1. 进程显示 ps -a 显示当前所有的进程信息 -u 以用户的格式显示进程信息 -x 显示后台进程运行的参数 ps -aux #通常查看内存 USER #执行进程的用户 PID #进 ...
- Dubbo入门到精通学习笔记(九):简易版支付系统介绍、部署(单节点)
文章目录 部署(单节点) 一.前期准备 二.对部署环境进行规划 创建数据库 调整公共配置文件 应用部署前期准备 部署服务 部署 Web 应用 部署定时任务 一. 工程结构 第三方支付系统架构 pay- ...