11.5NOIP模拟赛
/*
唉,那个第二种策略应该是没用吧。
为什么我列出式子最优策略跟第二种策略有关??
为什么我写了写分布列还是跟第二种策略有关??
为什么数学还没学到期望的孩子们都A了?
唉。人生啊。 0.5h后
我好像明白了。。。
考试的时候直接用f数组推的结论,结果就很神奇了...
我知道不是求最大概率是最大期望,然后我就把一定输对答案的贡献看作了当前期望的贡献减去这场可能赢对下一场的贡献;
把这个东西和这场可能赢可能输对答案的贡献作比较,就是消不掉那个这场一定输的贡献...然后我就觉得可能有最优决策和一定输有关...
现在发现好像并不等价
*/
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <iostream> using namespace std; const int maxn=+;
int n;
double p[maxn][maxn];
double f[maxn][maxn];
int main()
{
freopen("game.in","r",stdin);
freopen("game.out","w",stdout);
scanf("%d",&n);
for (int i=;i<=n;i++)
for (int j=;j<i;j++)
scanf("%lf",&p[i][j]);
f[][]=;
for (int i=;i<n;i++)
for (int j=;j<=i;j++)
{
f[i+][j+]+=f[i][j]*p[i+][j];
f[i+][j]+=f[i][j]*(-p[i+][j]);
}
double ans=;
for (int j=;j<=n;j++) ans+=j*f[n][j];
printf("%.2lf\n",ans);
return ;
}
/*
一道比较好写的折半搜索题。
估计暴搜剪枝也能差不多A。
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm> #define N 50
#define inf 0x3f3f3f3f using namespace std;
int n,m,ans,cnt1,cnt2,dep,flag;
int v[N],sum1[],sum2[]; bool cmp(int a,int b){return a>b;} inline int read()
{
int x=,f=;char c=getchar();
while(c>''||c<''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
} void dfs(int k,int rest)
{
if(k==dep)
{
if(flag)
{
sum1[++cnt1]=rest;return;
}
else
{
sum2[++cnt2]=rest;return;
}
}
dfs(k+,rest);
dfs(k+,rest-v[k+]);
} int main()
{
freopen("cake.in","r",stdin);
freopen("cake.out","w",stdout);
n=read();m=read();
for(int i=;i<=n;i++) v[i]=read();
dep=n/;flag=;dfs(,m/);
dep=n;flag=;dfs(n/,m-m/);
int L=,R=;ans=inf;
sort(sum1+,sum1+cnt1+);sort(sum2+,sum2+cnt2+,cmp);
if(sum1[]+sum2[cnt2]>=) ans=sum1[]+sum2[cnt2];
else
{
while(L<=cnt1 && R<=cnt2)
{
while(sum1[L]+sum2[R]<) L++;
ans=min(ans,sum1[L]+sum2[R]);
while(sum1[L]+sum2[R]>)
{
R++;
ans=min(ans,sum1[L]+sum2[R-]);
}
L++;
}
}
printf("%d\n",ans);
fclose(stdin);fclose(stdout);
return ;
}
/*
20dfs+特判n=1,2
下次再忘了取模剁手了。
*/
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <iostream> #define N 1001
#define mod 1000000007
#define ll long long using namespace std;
ll n,m,h,w,ans,cnt;
ll a,b,c,d,v;
ll Mar[N][N];
struct node{
ll a,b,c,d,v;
}ask[N]; inline ll read()
{
ll x=,f=;char c=getchar();
while(c>''||c<''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
} ll ksm(ll a,ll b)
{
ll res=;
while(b)
{
if(b&) res=res*a%mod;
b>>=;a=a*a%mod;
}return res;
} void solve1()
{
for(int i=;i<=n;i++)
{
a=read();b=read();c=read();d=read();v=read();
for(int x=a;x<=c;x++) for(int y=b;y>=d;y--)
Mar[x][y]=v;
}
ans=;
} bool judge()
{
ll mx=;
for(int i=;i<=n;i++)
{
for(int x=ask[i].a;x<=ask[i].c;x++) for(int y=ask[i].d;y>=ask[i].b;y--)
{
if(Mar[x][y]>ask[i].v) return false;
mx=max(mx,Mar[x][y]);
}
if(mx!=ask[i].v) return false;
}return true;
} void dfs(int x,int y)
{
if(y>w) x++,y%=w;
if(x< || y<) return;
if(x==h+)
{
if(judge()) ans++;ans%=mod;
return;
}
for(int i=;i<=m;i++)
{
Mar[x][y]=i;
dfs(x,y+);
} } int main()
{
freopen("grid.in","r",stdin);
freopen("grid.out","w",stdout);
h=read();w=read();m=read();n=read();
if(n==)
{
cout<<ksm(m,h*w)%mod<<endl;
return ;
}
if(n==)
{
a=read();b=read();c=read();d=read();v=read();
ll num=(c-a+)*(d-b+);
ll res1=ksm(m,h*w-num)%mod;
ll res2=ksm(v,num)%mod;
ll res3=(res1%mod*ksm(v-,num)%mod)%mod;
ans=(res1%mod*res2%mod-res3+mod)%mod;
cout<<ans%mod<<endl;
return ;
}
if(h<= && w<=)
{
for(int i=;i<=n;i++)
{
ask[i].a=read();ask[i].b=read();
ask[i].c=read();ask[i].d=read();
ask[i].v=read();
}
dfs(,),cout<<ans<<endl;
}
fclose(stdin);fclose(stdout);
return ;
}
50暴力
11.5NOIP模拟赛的更多相关文章
- 11.5NOIP模拟赛解题报告
心路历程 预计得分:\(100 + 40 + 30 = 170\) 实际得分:\(100 +100 + 50 = 250\) 辣鸡数据毁我青春 T1一眼不会做感觉要凉 T2好像一波折半搜索就做完了 T ...
- 9.11 myl模拟赛
9.11 myl 模拟赛 100 + 100 + 0 第一题耗费了太多的时间,导致最后一题没有时间想,直接去写了暴力,而且出题人没有给暴力分.... Problem 1. superman [题目描述 ...
- 2017.6.11 NOIP模拟赛
题目链接: http://files.cnblogs.com/files/TheRoadToTheGold/2017-6.11NOIP%E6%A8%A1%E6%8B%9F%E8%B5%9B.zip 期 ...
- 11.17 模拟赛&&day-2
/* 后天就要复赛了啊啊啊啊啊. 可能是因为我是一个比较念旧的人吧. 讲真 还真是有点不舍. 转眼间一年的时间就过去了. 2015.12-2016.11. OI的一年. NOIP gryz RP++. ...
- 2014.11.12模拟赛【美妙的数字】| vijos1904学姐的幸运数字
美妙的数字(number.c/.cpp/.pas) 题目描述 黄巨大认为非负整数是美妙的,并且它的数值越小就越美妙.当然0是最美妙的啦. 现在他得到一串非负整数,对于每个数都可以选择先对它做二进制非运 ...
- 2014.11.12模拟赛【最小公倍数】| vijos1047最小公倍数
最小公倍数(lcm.c/.cpp/.pas) 题目描述 给定两个正整数,求他们的最小公倍数. 样例输入 28 12 样例输出 84 数据范围 对于40%数据:1<=a,b<=10^9 对于 ...
- 11.7NOIP模拟赛解题报告
心路历程 预计得分:\(50 + 100 + 100\) 实际得分:\(50 + 100 +100\) T2 T3两道数据结构题美滋滋,然而写完就过去\(3h\)美滋滋 T1数学题学弟们都会做Orzz ...
- 11.6NOIP模拟赛解题报告
心路历程 预计得分:\(100 + 100 + 100 = 300\) 实际得分:\(100 +100 +100 = 300\) 学OI两年终于AK了一次qwq(虽然题目炒鸡水..) 纪念一下这令人激 ...
- 11.1NOIP模拟赛解题报告
心路历程 预计得分:\(100 + 100 + 50\) 实际得分:\(100 + 100 + 50\) 感觉老师找的题有点水呀. 上来看T1,woc?裸的等比数列求和?然而我不会公式呀..感觉要凉 ...
随机推荐
- Android 关于BottomDialogSheet 与Layout擦出爱的火花?
今天上班做那个相似于ios拍照的那种效果图 就是个垂直布局然后里面textview+切割线+textview+button 当然也能够用button+切割线+button 方法有非常多,选择适合自己的 ...
- JSP与HTML的差别
HTML(Hypertext Markup Language)文本标记语言,它是静态页面,和JavaScript一样解释性语言,为什么说是解释性 语言呢?由于.仅仅要你有一个浏览器那么它就能够正常显示 ...
- HDOJ1004 数组还要自己初始化
#include <iostream> #include <stdio.h> #include "string.h"using namespace std; ...
- Vue 之 npm 及 安装的包
1 npm相关 1.1 npm 是 基于Node.js 的,所以要先安装Node.js 在浏览器地址栏输入https://nodejs.org/en/, 进入Node.js官网后,点击下载左边的稳定 ...
- HDOJ 5045 Contest
状压DP.. . . Contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- 深度学习入门-4.1 AND.py 源码分析
源代码 ------------------------------------------------------------------------------------------------ ...
- gradle配置
一.你不想看到的 Gradle Build Running 话说在天朝当程序员也是很不容易的,不管是查阅资料还是下载东西,很多时候你会发现自己上网姿势不对,当然对大多数程序员来说,这都不是事儿.这次重 ...
- Hadoop中序列化与Writable接口
学习笔记,整理自<Hadoop权威指南 第3版> 一.序列化 序列化:序列化是将 内存 中的结构化数据 转化为 能在网络上传输 或 磁盘中进行永久保存的二进制流的过程:反序列化:序列化的逆 ...
- Uboot中start.S源码的指令级的详尽解析【转】
本文转载自:http://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html/uboot_starts_analys ...
- 解决virtualbox安装增强工具失败的问题
virtualbox有个增强工具,安装之后用户体验是非常爽的.但是有些时候在安装增强工具会遇到一些小问题,无非是没有安装gcc,make之类的编译工具或是需要安装kernel*.而我遇到的问题在做了这 ...