计数问题

纯模拟

 #include<cstdio>
#include<iostream>
using namespace std;
int main(){
int n,x;
cin>>n>>x;
int i,c=;
for(i=;i<=n;i++){
int a=i;
while(a!=){
if(a%==x)c++;
a/=;
}
}
cout<<c;
return ;
}

计数问题

表达式求值

模拟计算,扫一遍出解

 /*NOIP2013普及组t2 洛谷P1981 表达式求值*/
/**/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
char last;
char c;
int x=;
int a=,b=;
int sum=;
int main(){
int i,j;
bool flag=;
do{
if(cin>>c);
else{
flag=;
c='+';
}
if(c>='' && c<='')x=x*+c-'';
else{
a=x;
x=;
}
if(c=='*'){
last=;
b=(a*b)%;
}
if(c=='+'){
if(last){
a=(a*b)%;
sum=(sum+a)%;
b=;
last=;
}
else sum+=a;
} }while(flag==);
printf("%d",sum%);
return ;
}

表达式求值

小朋友的数字

线性DP

 #include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const long long inf=;
int n,p,a[]; long long su[]={};//特征值
long long scoremx=-inf;//前排最大分数
long long dmx=-inf;
long long ans=-inf;
int sum1(){
int i,j;
long long s=;
long long mx=-inf;
for(i=;i<=n;i++){
if(s+a[i]>mx)mx=s+a[i];
su[i]=mx;
if(s+a[i]>) s+=a[i];
else s=;
}
//
for(i=;i<=n;i++){
su[i]%=p<<;
}
return ;
}
int main(){
int i,j;
scanf("%d%d",&n,&p);
for(i=;i<=n;i++)scanf("%d",&a[i]);
sum1();
long long score;
//
scoremx=su[];
score=su[];
dmx=score+su[];
//end
for(i=;i<=n;i++){
score=dmx;
if(dmx>scoremx)scoremx=dmx;
if(su[i]+score>dmx)dmx=su[i]+score;
}
printf("%d",scoremx%p);
return ;
}

小朋友的数字

车站分级

从已知的低级站向高级站连边,跑拓扑排序得出层级关系

 #include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m;
int a;//[第i趟车次的停靠站数]
int s[];//[第i趟车次停靠的站]
int mp[][]={};
int book[];
int r[],c[];
int st[];
int ans=;
void rd(){
scanf("%d%d",&n,&m);
int i,j,k;
for(i=;i<=m;i++){
memset(book,,sizeof(book));
scanf("%d",&a);
for(j=;j<=a;j++){
scanf("%d",&s[j]);
book[s[j]]=;
}
for(k=s[];k<=s[a];k++)//遍历从始发站到终点站
{
if(!book[k])
for(j=;j<=a;j++)
if(!mp[k][s[j]])//从低级连到高级可过,从高级连到低级超时
{
mp[k][s[j]]=;
r[s[j]]++;}
} }
}
int main(){
// freopen("level.in","r",stdin);
// freopen("level.out","w",stdout);
rd();
int i,j;
int top=;
memset(book,,sizeof(book));
while(){
ans++;
top=;
for(i=;i<=n;i++)
if(!r[i] && !book[i])
{
top++;
st[top]=i;
book[i]=;
} if(!top)break;
for(j=;j<=n;j++)
for(i=;i<=top;i++){
if(mp[st[i]][j]){
mp[st[i]][j]=;
r[j]--;
}
}
if(!top)break;
} printf("%d",ans-); return ;
}

[NOIP2013] 普及组的更多相关文章

  1. NOIP2013普及组 -SilverN

    T1  计数问题 题目描述 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1 到 11 中,即在 1.2.3.4.5.6.7.8.9.10.11 中, ...

  2. NOIP2013普及组 T2 表达式求值

    OJ地址:洛谷P1981 CODEVS 3292 正常写法是用栈 #include<iostream> #include<algorithm> #include<cmat ...

  3. 【NOIP2013 普及组】车站分级

    [NOIP2013 普及组]车站分级 一.题目 [NOIP2013 普及组]车站分级 时间限制: 1 Sec  内存限制: 128 MB 提交: 3  解决: 0 [提交][状态][讨论版] 题目描述 ...

  4. [NOIP2013 普及组] 表达式求值

    [NOIP2013 普及组] 表达式求值 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值. Input 一行,为需要你计算的表达式,表达式中只包含数字.加法运算符"+" ...

  5. [NOIp2013普及组]车站分级

    思路: 对于每一趟车,将区间内所有经停的站和所有未经停的站连一条边,表示前者优先级一定高于后者,然后用Kahn跑一遍拓扑排序即可.然而这样会创造大量多余的边,会TLE1个点.考虑一种优化:因为每趟车本 ...

  6. Noip2013(普及组) 车站分级

    题目描述 一条单向的铁路线上,依次有编号为 , , …, n 的 n 个火车站.每个火车站都有一个级别,最低为 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x, ...

  7. 洛谷——P1980 [NOIP2013 普及组] 计数问题

    题目描述 试计算在区间 11 到 nn的所有整数中,数字x(0 ≤ x ≤ 9)x(0≤x≤9)共出现了多少次?例如,在 11到1111中,即在 1,2,3,4,5,6,7,8,9,10,111,2, ...

  8. NOIP2002-2017普及组题解

    虽然普及组一般都是暴力省一,但是有一些题目还是挺难的qwq个人觉得能进TG的题目会在前面打上'*' NOIP2002(clear) #include<bits/stdc++.h> usin ...

  9. NOIP2012 普及组 T3 摆花——S.B.S.

    题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时 ...

随机推荐

  1. 使用Netty绑定一个端口如何分辨出多种类型的DTU的注册包

    一.  背景 项目需要使用Netty和DTU(无线数据传输模块)通信,需要接入多种类型的DTU,每种dtu连接上来之后都首先会发送一个注册报文.需要解析该注册报文来实现: 1. 分辨出是哪种类型的dt ...

  2. Oracle On 、Where、Having 区别

    ON .WHERE.HAVING都能通过限制条件筛选数据,但他们的使用及其不同.下面我们来分析三者之间的区别. 1. ON 和WHERE 所有的查询都回产生一个中间临时报表,查询结果就是从返回临时报表 ...

  3. bootstrap的popover插件在focus模式时在Safari浏览器无法使用的bug解决方案

    前言 最近在使用bootstrap的popover插件,效果如下: popover插件的focus模式时表现为当点击按钮时弹出浮动层,在点击浮动层外的任何一处,都隐藏浮动层. 但是在mac下的Safa ...

  4. ModernUI教程:使用WPF4.0

    Modern UI 同时支持WPF4.0和4.5.下载包中包含了这两个版本的程序集.当你使用Nuget下载时,会根据你选择的运行时版本自动选择对应的版本下载.而Visual Studio2012的模板 ...

  5. 20160223 - Windows 10 的文件资源管理器下出现重复文件夹的解决办法

    现象: 安装 OneDrive 从 Windows 7.8.8.1 升级来的 Windows 10 的电脑,可能会出现文件资源管理器左侧面板中出现重复的文件夹. 通常有:视频.图片.文档.下载.音频. ...

  6. js的Object和Function

    自己闲的没事干,自己想通过js的了解写一个Function和Object之间的关系,可以肯定的是我写错了,但是希望可以有所启发. Function和Object Function.__proto__ ...

  7. [HDU5902]GCD is Funny(xjb搞)

    题意:n个数每次选三个数删除,取其中两个数将gcd放回去两次,问最后剩的数可能是多少 分析:考虑最优情况: 先拿出三个数,留下两个x,x  再来一个y,(x,x,y)我们可以删去一个x,留下两个gcd ...

  8. [BZOJ2730][HNOI2012]矿场搭建(求割点)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2730 分析: 如果坍塌的点不是割点,那没什么影响,主要考虑坍塌的点是割点的情况. 显然 ...

  9. Apache CXF实现WebService发布和调用

    第一种方法:不用导入cxf jars 服务端: 1. 新建Web工程 2.新建接口和实现类.测试类 目录结构图如下: 接口代码: package com.cxf.spring.service; imp ...

  10. git --- push到远端