题目+数据:链接:http://pan.baidu.com/s/1hssN8GG 密码:bjw8
总结:

总分:300分,仅仅拿了120份。

这次所犯的失误:对于2,3题目,我刚刚看就想到了正确思路,急于敲正确思路,而没有去骗基础得分。

结果第二题DP打残了,第三题排列组合漏了一个小点没考虑到,都是仅仅拿了10分。

T1:

 /*
第一题比较容易,注意一些细节就可以了。
比如删除前导0不能删没了等等。
*/
#define N 1500
#include<iostream>
using namespace std;
#include<cstdio>
#include<cstring>
char a[N],b[N];
int a1[N],b1[N],len;
void input()
{
scanf("%s%s",a+,b+);
len=strlen(a+);
for(int i=;i<=len;++i)
a1[i]=a[i]-'';
for(int i=;i<=len;++i)
b1[i]=b[i]-'';
}
int main()
{
freopen("number.in","r",stdin);
freopen("number.out","w",stdout);
input();
for(int i=;i<=len;++i)
{
if(a1[i]>b1[i]) b1[i]=;
if(a1[i]<b1[i]&&b1[i]!=) a1[i]=;
}
int ia=,ib=;
bool flag=false;
while(ia<len&&(a1[ia]==||a1[ia]==))
{
if(a1[ia]==) flag=true;
ia++;
}
if(a1[ia]==) ia++;
if(ia>len&&(!flag)) printf("BOOM");
else{
for(int i=ia;i<=len;++i)
if(a1[i]!=) printf("%d",a1[i]);
if(ia>len&&flag) printf("");
}
printf("\n");
flag=false;
while(ib<len&&(b1[ib]==||b1[ib]==))
{
if(b1[ia]==) flag=true;
ib++;
}
if(b1[ib]==) ib++;
if(ib>len&&(!flag)) printf("BOOM");
else{
for(int i=ib;i<=len;++i)
if(b1[i]!=) printf("%d",b1[i]);
if(ib>len&&flag) printf("");
}
fclose(stdin);
fclose(stdout);
return ;
}

T2:正确做法所用的技巧和NOIP2015Day2子串相同都用到了辅助数组。

哎╮(╯▽╰)╭圆形操场不是成环考虑的。

说明:测试数据中有两组是有问题的,就是当出现偶数组合并不了的时候,是输出了最大值。而zhx大牛的最大值是1e9,因人而异吧。

 #define N 405
#include<iostream>
using namespace std;
#include<cstdio>
#include<cstring>
typedef long long ll;
int n,sum[N];
ll f1[N][N],f2[N][N];
void input()
{
scanf("%d",&n);
int x;
for(int i=;i<=n;++i)
{
scanf("%d",&x);
sum[i]=sum[i-]+x;
}
}
void DP()
{
for(int i=;i<=n;++i)
for(int j=;j<=n;++j)
f1[i][j]=f2[i][j]=(<<)-;
for(int i=;i<=n-;++i)
f2[i][i+]=sum[i+]-sum[i-];
for(int i=;i<=n;++i)
f1[i][i]=;
for(int len=;len<=n;++len)
for(int i=;i+len-<=n;++i)
{
int j=i+len-;
for(int k=i;k<j;++k) f2[i][j]=min(f2[i][j],f1[i][k]+f1[k+][j]+sum[j]-sum[i-]);
for(int k=i;k<j;++k) f1[i][j]=min(f1[i][j],f2[i][k]+f1[k+][j]+sum[j]-sum[k]);
/*注意这个推f1这个方程中,所加的代价是sum[j]-sum[k],因为i---k-1,这段石子的花费,我们在推f2的时候已经加过了,所以不能重复加了*/
}
}
int main()
{
freopen("merge.in","r",stdin);
freopen("merge.out","w",stdout);
input();
DP();
cout<<f1[][n]<<endl;
fclose(stdin);
fclose(stdout);
return ;
}

T3:

 #define N 100010
#include<iostream>
using namespace std;
#include<cstdio>
#define mod 1000000007
typedef long long ll;
int n,m,x,y;
bool p1[N],p2[N];
ll jc[N],ny[N];
ll quick_pow(ll a,ll b)//a^b
{
ll ans=;
while(b)
{
if(b&)
{
ans=(ans*a)%mod;
}
a=(a*a)%mod;
b>>=;
}
return ans;
}
ll Mo(ll x)/*这里定义了一个负数的取模方法,因为负数取模还是负数,所以为了预防结果输出这种不合逻辑的答案,我们需要进行如下处理*/
{
if(x>=&&x<mod) return x;
x%=mod;
if(x<) x+=mod;
return x;
}
ll C(int n,int m)
{
if(m>n||m<) return ;
if(m==n||m==) return ;
return jc[n]*ny[m]%mod*ny[n-m]%mod;
}
int main()
{
freopen("problem.in","r",stdin);
freopen("problem.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=;i<=m;++i)
{
scanf("%d%d",&x,&y);
if(x==y)
{
printf("");
return ;
}
p1[x]=true;p2[y]=true;
}
int s=;
for(int i=;i<=n;++i)
{
if(!p1[i]&&!p2[i]) s++;/*统计可以自由放的个数*/
}
jc[]=;
for(int i=;i<=n;++i) jc[i]=(jc[i-]*i)%mod;
for(int i=;i<=n;++i) ny[i]=quick_pow(jc[i],mod-);
ll ans=jc[n-m];
for(int i=;i<=s;++i)
{
if(i&) ans=Mo(ans-C(s,i)*jc[n-m-i]);
else ans=Mo(ans+C(s,i)*jc[n-m-i]);
}
cout<<ans<<endl;
fclose(stdin);
fclose(stdout);
return ;
}

2016.11.6 night NOIP模拟赛 考试整理的更多相关文章

  1. NOIP模拟赛-2018.11.7

    NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...

  2. NOIP模拟赛-2018.11.6

    NOIP模拟赛 今天想着反正高一高二都要考试,那么干脆跟着高二考吧,因为高二的比赛更有技术含量(我自己带的键盘放在这里). 今天考了一套英文题?发现阅读理解还是有一些困难的. T1:有$n$个点,$m ...

  3. NOIP模拟赛-2018.11.5

    NOIP模拟赛 好像最近每天都会有模拟赛了.今天从高二逃考试跑到高一机房,然而高一也要考试,这回好像没有拒绝的理由了. 今天的模拟赛好像很有技术含量的感觉. T1:xgy断句. 好诡异的题目,首先给出 ...

  4. 11/1 NOIP 模拟赛

    11.1 NOIP 模拟赛 期望得分:50:实际得分:50: 思路:暴力枚举 + 快速幂 #include <algorithm> #include <cstring> #in ...

  5. 10.17 NOIP模拟赛

    目录 2018.10.17 NOIP模拟赛 A 咒语curse B 神光light(二分 DP) C 迷宫maze(次短路) 考试代码 B 2018.10.17 NOIP模拟赛 时间:1h15min( ...

  6. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  7. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  8. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  9. 10.16 NOIP模拟赛

    目录 2018.10.16 NOIP模拟赛 A 购物shop B 期望exp(DP 期望 按位计算) C 魔法迷宫maze(状压 暴力) 考试代码 C 2018.10.16 NOIP模拟赛 时间:2h ...

随机推荐

  1. 让Visual Studio Code对jQuery支持智能提示!

    本人新手,对代码各种不熟悉,记不准确,总是打错,造成各种失误!! 其实这个方法应该适合大部分前端开发工具!! 园里子有前人写了一篇文章对智能提示的实现!不过很多新手看不懂吧. http://www.c ...

  2. spi 10方式编写

    //第一个CS变低的时候要sclk为高电平,第一个跳变沿进行赋值 module spi(input clk,input rst_n,output reg sclk,output reg cs,outp ...

  3. uct框架数据库sql文件导入错误之 sql_mode

    uct框架在导入sql文件时可能会出现一种错误 ERROR 1101 (42000): BLOB/TEXT column 'brief' can't have a default value 这是由于 ...

  4. linux 下添加库的加载路径的方式

    linux 下有两种添加加载库路径的方式: 1.修改环境变量: export LD_LIBRARY_PATH=path_name 2.修改配置文件 修改 /etc/ld.so.conf 的内容在最后添 ...

  5. 如何合理优化WEB前端 高效提升WEB前端性能

    对前端开发工程师来说,前端性能优化的重要性是不言而喻的,最为大家所知的是YSLOW的23条优化规则,在我的理解中,性能优化不纯粹是指用户访问网站的速度,也包括开发的效率,这里我总结下我理解中的WEB前 ...

  6. ks

    http://www.codeproject.com/Articles/207820/The-Repository-Pattern-with-EF-code-first-Dependen

  7. Android-socket服务端断重启后,android客户端自动重连

    今天研究这个问题搞了整整一天啊!终于出来了,不过我没有多大的成就感,为什么呢?因为这不是我的劳动成果.同样的问题,我却没想出来!心塞的很啊…… 不过还是要给大家分享一下,希望给大家带来帮助! 先声明一 ...

  8. centos7 无法启动网卡

    (1)需要指定一下hwaddr (2)onboot=yes /etc/sysconfig/network-script/

  9. Vs2013 html5开发WP8.1 APP之jquery

    仿安卓原生界面,先使用JQM,最新的JQM使用了JQ1.8.5 然后在WP8以上就会遇到动态创建控件的安全性问题 换成JQ2.X即可,但在WP8.1中一定不要删除了 <script src=&q ...

  10. Linux下安装tar.gz类型的jdk,并配置环境变量

    近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...