/*
唉,那个第二种策略应该是没用吧。
为什么我列出式子最优策略跟第二种策略有关??
为什么我写了写分布列还是跟第二种策略有关??
为什么数学还没学到期望的孩子们都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模拟赛的更多相关文章

  1. 11.5NOIP模拟赛解题报告

    心路历程 预计得分:\(100 + 40 + 30 = 170\) 实际得分:\(100 +100 + 50 = 250\) 辣鸡数据毁我青春 T1一眼不会做感觉要凉 T2好像一波折半搜索就做完了 T ...

  2. 9.11 myl模拟赛

    9.11 myl 模拟赛 100 + 100 + 0 第一题耗费了太多的时间,导致最后一题没有时间想,直接去写了暴力,而且出题人没有给暴力分.... Problem 1. superman [题目描述 ...

  3. 2017.6.11 NOIP模拟赛

    题目链接: http://files.cnblogs.com/files/TheRoadToTheGold/2017-6.11NOIP%E6%A8%A1%E6%8B%9F%E8%B5%9B.zip 期 ...

  4. 11.17 模拟赛&&day-2

    /* 后天就要复赛了啊啊啊啊啊. 可能是因为我是一个比较念旧的人吧. 讲真 还真是有点不舍. 转眼间一年的时间就过去了. 2015.12-2016.11. OI的一年. NOIP gryz RP++. ...

  5. 2014.11.12模拟赛【美妙的数字】| vijos1904学姐的幸运数字

    美妙的数字(number.c/.cpp/.pas) 题目描述 黄巨大认为非负整数是美妙的,并且它的数值越小就越美妙.当然0是最美妙的啦. 现在他得到一串非负整数,对于每个数都可以选择先对它做二进制非运 ...

  6. 2014.11.12模拟赛【最小公倍数】| vijos1047最小公倍数

    最小公倍数(lcm.c/.cpp/.pas) 题目描述 给定两个正整数,求他们的最小公倍数. 样例输入 28 12 样例输出 84 数据范围 对于40%数据:1<=a,b<=10^9 对于 ...

  7. 11.7NOIP模拟赛解题报告

    心路历程 预计得分:\(50 + 100 + 100\) 实际得分:\(50 + 100 +100\) T2 T3两道数据结构题美滋滋,然而写完就过去\(3h\)美滋滋 T1数学题学弟们都会做Orzz ...

  8. 11.6NOIP模拟赛解题报告

    心路历程 预计得分:\(100 + 100 + 100 = 300\) 实际得分:\(100 +100 +100 = 300\) 学OI两年终于AK了一次qwq(虽然题目炒鸡水..) 纪念一下这令人激 ...

  9. 11.1NOIP模拟赛解题报告

    心路历程 预计得分:\(100 + 100 + 50\) 实际得分:\(100 + 100 + 50\) 感觉老师找的题有点水呀. 上来看T1,woc?裸的等比数列求和?然而我不会公式呀..感觉要凉 ...

随机推荐

  1. binary-tree-preorder-traversal——前序遍历

    Given a binary tree, return the preorder traversal of its nodes' values. For example:Given binary tr ...

  2. Codeforces Round #258 (Div. 2/A)/Codeforces451A_Game With Sticks

    解题报告 http://blog.csdn.net/juncoder/article/details/38102263 n和m跟木棍相交,问一人取一交点(必须是交点.且取完后去掉交点的两根木棍),最后 ...

  3. poj 2154 Color 欧拉函数优化的ploya计数

    枚举位移肯定超时,对于一个位移i.我们须要的是它的循环个数,也就是gcd(i,n),gcd(i,n)个数肯定不会非常多,由于等价于n的约数的个数. 所以我们枚举n的约数.对于一个约数k,也就是循环个数 ...

  4. JS 计算2个日期相差的天数

    <span style="font-size:18px;">function getDays(strDateStart,strDateEnd){ var strSepa ...

  5. DirectX11 学习笔记5 - D3DXMath 库

    directx11 特别推出了一个数学库 用于向量 矩阵的计算.并且使用128位 同一时候计算4条32位数据 (SIMD) 之前基本是用的directx10math.h这个头文件.  这个数学库既然是 ...

  6. CodeForces 318D Ants

    题目链接 题意: 有n仅仅蚂蚁和m次询问 n仅仅蚂蚁初始所有位于起点(0,0)处.每4仅仅蚂蚁在同一格就会以该格为中心向上下左右四个方向爬一格 一仅仅向上,一仅仅向下,一仅仅向左.一仅仅向右 假设每一 ...

  7. arm-linux交叉编译环境搭建

    1.解压交叉编译工具链包 tar jxvf EABI-4.3.3_EmbedSky_20100610.tar.bz2 (笔者将交叉编译工具链包放在”/home ”目录下) 解压后会生成两个目录: [r ...

  8. python使用cx_oracle连接oracle数据库

    http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html---下载instantclient-basic-linux.x ...

  9. LeetCode——Binary Tree Level Order Traversal

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  10. Arcgis Engine(ae)接口详解(5):IGeometry几何基础操作

    //点操作~~~~~~~~~~~~~~~~~~~~~~~~~ //通过坐标生成点 IPoint point = new PointClass(); point.PutCoords(, ); //获取点 ...