2017-10-17 NOIP模拟赛

Reverse

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char c[];
int len,cnt,sum[];
struct node{
int n1,n0;
}a[];
int main(){
freopen("reverse.in","r",stdin);freopen("reverse.out","w",stdout);
//freopen("Cola.txt","r",stdin);
scanf("%s",c+);
len=strlen(c+);
int x1=,x0=;
for(int i=;i<=len;i++){
if(c[i]=='')x0++;
if(c[i]=='')x1++;
if((c[i]==''&&c[i+]=='')||i==len){
a[++cnt].n0=x0;
a[cnt].n1=x1;
x0=;x1=;
}
}
for(int i=cnt;i>=;i--)sum[i]=sum[i+]+a[i].n0;
int ans=;
for(int i=;i<=cnt;i++){
if(a[i].n1<sum[i+])ans+=a[i].n1;
else{
ans+=sum[i+];
break;
}
}
printf("%d",ans);
return ;
}
50分 迷之wa
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 100100
using namespace std;
int len,ans=0x7f7f7f7f;
char s[MAXN];
int sum[MAXN];
int main(){
freopen("reverse.in","r",stdin);
freopen("reverse.out","w",stdout);
scanf("%s",s);
len=strlen(s);
sum[]=s[]-'';
for(int i=;i<len;i++)
sum[i]=sum[i-]+s[i]-'';
for(int i=;i<len;i++)
ans=min(ans,sum[i]+(len--i-sum[len-]+sum[i]));
cout<<ans;
}
100分 前缀和+O(n)扫一遍
Number

#include<iostream>
#include<cstdio>
#include<cstring>
#include<ctime>
#ifdef WIN32
#define PLL "%I64d"
#else
#define PLL "%lld"
#endif
using namespace std;
int n,cnt[];
long long ans;
short b[];
int count(int x){
memset(cnt,,sizeof(cnt));
while(x){
cnt[x%]++;
x/=;
}
int res=;
for(int i=;i>=;i--){
if(cnt[i])res=res*+i;
}
return res;
}
int main(){
//freopen("Cola.txt","r",stdin);
freopen("number.in","r",stdin);freopen("number.out","w",stdout);
scanf("%d",&n);
for(int i=;i<=n;i++){
int now=count(i);
ans+=b[now];
b[now]++;
}
printf(PLL,ans);
return ;
}
75分 桶
/*
枚举,用vis一个二进制数组表示当前数每一位的状态,出现或者不出现。
然后把二进制转为十进制,cnt[十进制]+1。
最后因为要求多少对,所以答案累加C(i,2)。
*/
#include<iostream>
#include<cstdio>
#include<cstring> #define size 1024 using namespace std;
int n,cnt[size],vis[];
int Use[]={,,,,,,,,,};
long long ans; int main()
{
freopen("number.in","r",stdin);
freopen("number.out","w",stdout);
cin>>n;
int start,End;
for(int i=;i<=n;i++)
{
start=i;End=;memset(vis,,sizeof vis);
while(start) vis[start%]=,start/=;
for(int j=;j<=;j++) if(vis[j]) End+=Use[j];
cnt[End]++;
}
for(int i=;i<size;i++) ans+=1ll*cnt[i]*(cnt[i]-)/;
cout<<ans<<endl;
fclose(stdin);fclose(stdout);
return ;
}
100分 桶
Wave

#include<iostream>
#include<cstdio>
#define maxn 2000010
using namespace std;
int f[maxn][],n,k,a[maxn],ans;
int qread(){
int i=,j=;
char ch=getchar();
while(ch<''||ch>''){if(ch=='-')j=-;ch=getchar();}
while(ch<=''&&ch>=''){i=i*+ch-'';ch=getchar();}
return i*j;
}
int main(){
freopen("wave.in","r",stdin);freopen("wave.out","w",stdout);
//freopen("Cola.txt","r",stdin);
n=qread();k=qread();
for(int i=;i<=n;i++){
a[i]=qread();
f[i][]=;
}
for(int i=;i<=n;i++){
for(int j=;j<i;j++){
if(a[j]-a[i]>=k){//i是奇数项
f[i][]=max(f[i][],f[j][]+);
ans=max(ans,f[i][]);
}
if(a[i]-a[j]>=k){//i是偶数项
f[i][]=max(f[i][],f[j][]+);
ans=max(ans,f[i][]);
}
}
}
printf("%d",ans);
}
20分 暴力dp
/*
很神奇。
贪心,在满足k的限制下,偶数项尽量大,奇数项尽量小。
*/
#include<iostream>
#include<cstdio>
#include<cstring> #define N 2000007 using namespace std;
int a[N];
int n,k,m,ans,cur; 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;
} int main()
{
n=read();k=read();
for(int i=;i<n;i++) a[i]=read();
ans=,m=,cur=a[];
for(int i=;i<n;i++)
{
if(m)
if(cur-a[i]>=k)
m=,ans++,cur=a[i];
else cur=max(cur,a[i]); else
if(a[i]-cur>=k)
m=,ans++,cur=a[i];
else cur=min(cur,a[i]);
}
printf("%d\n",ans);
return ;
}
100分 贪心
2017-10-17 NOIP模拟赛的更多相关文章
- 10.17 NOIP模拟赛
目录 2018.10.17 NOIP模拟赛 A 咒语curse B 神光light(二分 DP) C 迷宫maze(次短路) 考试代码 B 2018.10.17 NOIP模拟赛 时间:1h15min( ...
- 2017 10.25 NOIP模拟赛
期望得分:100+40+100=240 实际得分:50+40+20=110 T1 start取了min没有用,w(゚Д゚)w O(≧口≦)O T3 代码3个bug :数组开小了,一个细节没注意, ...
- 10.16 NOIP模拟赛
目录 2018.10.16 NOIP模拟赛 A 购物shop B 期望exp(DP 期望 按位计算) C 魔法迷宫maze(状压 暴力) 考试代码 C 2018.10.16 NOIP模拟赛 时间:2h ...
- 2018.10.16 NOIP模拟赛解题报告
心路历程 预计得分:\(100 + 100 + 20 = 220\) 实际得分:\(100 + 100 + 30 = 230\) 辣鸡模拟赛.. T1T2都是一眼题,T3考验卡常数还只有一档暴力分. ...
- 2016.10.30 NOIP模拟赛 day2 AM 整理
题目+数据:链接:http://pan.baidu.com/s/1gfBg4h1 密码:ho7o 总共得了:130分, 1:100分 2:30分(只会这30分的暴力) 3:0(毫无思路) 虽然不高, ...
- 2016.10.30 NOIP模拟赛 day2 PM 整理
满分:300分 直接全部爆零,真的是很坑啊! 10.30的题目+数据:链接:http://pan.baidu.com/s/1jHXLace 密码:i784 T1: 题目中的难点就是每次折叠的点可能应经 ...
- 2017.5.27 NOIP模拟赛(hzwer2014-5-16 NOIP模拟赛)
期望得分:100+100+60+30=290 实际得分:100+20+60+0=180 当务之急:提高一次正确率 Problem 1 双色球(ball.cpp/c/pas) [题目描述] 机房来了新一 ...
- 2017.6.11 NOIP模拟赛
题目链接: http://files.cnblogs.com/files/TheRoadToTheGold/2017-6.11NOIP%E6%A8%A1%E6%8B%9F%E8%B5%9B.zip 期 ...
- 2018.10.03 NOIP+ 模拟赛 解题报告
得分: \(30+5+0=35\)(考得真不咋滴) \(T1\):奥义商店(点此看题面) 以为很简单,对着这题想了一个多小时,最后果断打了个暴力交了... ... 看完题解发现其实也不是很难. 对于\ ...
- 2018.10.30 NOIp模拟赛 T1 改造二叉树
[题目描述] 小Y在学树论时看到了有关二叉树的介绍:在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他又和他人讨论 ...
随机推荐
- 图像处理检测方法 — ORB(Oriented FAST and Rotated BRIEF)
1.FAST FAST算子的基本原理是:若某像素点与其周围领域内足够多的连续的像素点存在某一属性差异,并且该差异大于指定阈值,则可以断定该像素点与其邻域像素有可被识别的不同之处,可以作为一个特征点( ...
- 六 Django框架,models.py模块,数据库操作——链表结构,一对多、一对一、多对多
链表操作 链表,就是一张表的外键字段,连接另外一张表的主键字段 一对多 models.ForeignKey()外键字段一对多,值是要外键的表类 from __future__ import unico ...
- Tomcat_异常_02_IOException while loading persisted sessions: java.io.EOFException
异常原因: EOFException表示输入过程中意外地到达文件尾或流尾的信号,导致从session中获取数据失败. 这是由于tomcat上次非正常关闭时有一些活动session被持久化(表现为一些临 ...
- org.apache.catalina.core.StandardWrapperValve invoke报错
tomcat报错如下: HTTP Status 404 - Servlet xxx is not available type Status report message Servlet xxx is ...
- linux命令学习笔记(21):find命令之xargs
xargs是一条Unix和类Unix操作系统的常用命令.它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题 xargs的作用一般等同于大多数Unix shell中的反引号,但更 ...
- objdump 命令的用法
gcc命令之 objdump ---------------objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具---------- 以下3条命令足够那些喜欢探索目标文件与源代码之间的 ...
- Cassini(卡西尼)投影
- centos下安装Mysql5.7.20
0.环境 本文操作系统: CentOS 7.2.1511 x86_64MySQL 版本: 5.7.16 1.卸载系统自带的 mariadb-lib [root@centos-linux ~]# rpm ...
- HDU3037Saving Beans(组合数+lucas定理)
Problem Description Although winter is far away, squirrels have to work day and night to save beans. ...
- msdtc中rpc调试
http://www.cnblogs.com/nzperfect/archive/2011/11/03/2234595.html 1 工具: dtcping 2 配置 3 netboise