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?裸的等比数列求和?然而我不会公式呀..感觉要凉 ...
随机推荐
- 浏览器开发者工具Chrome Developer Tool
开发者工具Chrome Developer Tool https://developers.google.com/chrome-developer-tools/docs/profiles 一直被墙 ...
- linux led子系统(二)
对于led子系统中,有那么多得trigger,下面就来简单了解下. 1.default-on static void defon_trig_activate(struct led_classdev * ...
- 6.游戏特别离不开脚本(3)-JS脚本操作java(3)(直接操作JS文件或者调用函数)
java直接运行JS脚本文件的语句,游戏开发时,策划的配置文件什么的就可以分开管理了,游戏逻辑也是一样,比如:一个功能一个脚本或者一个系统一个脚本. import java.io.FileNotFou ...
- 探索C++的底层机制
探索C++的底层机制 在看这篇文章之前,请你先要明白一点:那就是c++为我们所提供的各种存取控制仅仅是在编译阶段给我们的限制,也就是说是编译器确保了你在完成任务之前的正确行为,如果你的行为不正确,那么 ...
- RubyMine安装、破解
经常安装东西,这是我安装过最快的ide破解版. 下载地址: http://www.jetbrains.com/ruby/download/index.html 破解序列号: name: rubymin ...
- (转)React Native 使用react-native-image-picker库实现图片上传功能
react-native-image-picker作为一个集成相机和相册的功能的第三方库,因为其使用相对简单受到前端开发人员的喜爱. react-native-image-picker使用 首先,安装 ...
- B.大钉骑马走江湖
江湖是什么,对于在象棋界厮杀的大钉来说,江湖就是一个矩阵,他的目标,就是在江湖之中骑着马,从他的位置出发,走到终点. 当然,大钉的马也遵从中国象棋中的“马走日”的规则,而且在矩阵中,也会有一些障碍物, ...
- antV G6流程图在Vue中的使用
最近我司项目中需要加入流程图制作功能,于是乎百度各种找可视化绘制拓扑图的轮子,大部分都是国外的,看文档太吃力,不过好在最终让我发现了AntV G6流程图图表库,最新版为2.0,不过编辑器在2.0版本还 ...
- vue中导出Excel表格
项目中我们可能会碰到导出Excel文件的需求,一般后台管理系统中居多,将table中展示的数据导出保存到本地.当然我们也可以通过一些处理来修改要导出的数据格式,具体需求具体对待. 1.首先我们需要安装 ...
- VMWare Workstation 配置docker多macvlan网络方法
VMWare Workstation 配置docker多macvlan网络方法 答案就是.....换VirtualBox 噗... VMWare Workstation host-only网络,三台虚 ...