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?裸的等比数列求和?然而我不会公式呀..感觉要凉 ...
随机推荐
- MFC Month Calendar Control 控件使用
在上层软件编程中,往往须要提供一个月历控件让用户选择对应日期或者用此月历控件来强调特定的一天. MFC的 Month Calendar Control 控件自系统升级到 Windows 7 之后,对于 ...
- hunnu--11545--小明的烦恼——找路径
小明的烦恼--找路径 Time Limit: 2000ms, Special Time Limit:5000ms, Memory Limit:32768KB Total submit users: ...
- 用JAVA编写浏览器内核之实现javascript的document对象与内置方法
原创文章.转载请注明. 阅读本文之前,您须要对浏览器怎样载入javascript有一定了解. 当然,对java与javascript本身也须要了解. 本文首先介绍浏览器载入并执行javascript的 ...
- Codeforces Round #262 (Div. 2)460A. Vasya and Socks(简单数学题)
题目链接:http://codeforces.com/contest/460/problem/A A. Vasya and Socks time limit per test 1 second mem ...
- linux输入子系统(6)-input子系统介绍及结构图
注:本系列转自: http://www.ourunix.org/post/290.html input子系统介绍 输入设备(如按键,键盘,触摸屏,鼠标,蜂鸣器等)是典型的字符设备,其一 ...
- hdu4921 Map
给最多10条链.每条链长度最大1000,链上每点有权值,每条链上按顺序,第i个点属于level[i]. 链上后一个点能够选的前提是前面的点都选了. 选择了一些点能够得到的分数是两部分加起来:1.所有点 ...
- C++中extern “C”含义深层探索(在原作的基础上修改) .
1. 引言 C++ 语言的创建初衷是“a better C” ,但是这并不意味着C++ 中类似C 语言的全局变量和函数所采用的编译和连接方式与C 语言完全相同.作为一种欲与C 兼容的语言,C++ 保留 ...
- 1449: [JSOI2009]球队收益
1449: [JSOI2009]球队收益 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 757 Solved: 437[Submit][Status][ ...
- lint (software)
lint (software) - Wikipedia https://en.wikipedia.org/wiki/Lint_(software) A linter or lint refers to ...
- Linux搭建lnmp环境
在CentOS 6上使用yum安装lnmp服务,原文链接http://www.qiansw.com/yum-lnmp.html