计数问题

纯模拟

 #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. CSS3 3D骰子

    z zz zz zzzz zzzzz zzzzzz

  2. kindeditor编辑器里面 filterMode为false时候,允许输入任何代码

    kindeditor编辑器里面 filterMode为false时候,允许输入任何代码

  3. JAVA CDI 学习(3) - @Produces及@Disposes

    上一节学习了注入Bean的生命周期,今天再来看看另一个话题: Bean的生产(@Produces)及销毁(@Disposes),这有点象设计模式中的工厂模式.在正式学习这个之前,先来看一个场景: 基于 ...

  4. Java7并发编程实战(一) 线程的中断

    控制线程中断的方法一般常规是定义一个布尔值,然后while(布尔值) 去执行,当想停止该线程时候,把布尔值设为false. 这里我们来看第二种,Interrupt 该例子模拟一个线程从1打印到10,然 ...

  5. 【Alpha版本】十天冲刺集结令

    031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬涛 [Alp ...

  6. github上传

    创建全局的name和email 1.创建ssh(使用命令)$ssh-keygen -t rsa -C xxxxx@gmail.com(注册github时的email)2.在github中添加ssh 登 ...

  7. 【腾讯GAD暑期训练营游戏程序开发】游戏中的动画系统作业

    游戏中的动画系统作业说明文档   一.实现一个动画状态机:至少包含3组大的状态节点

  8. 用 Smarty 生成静态页面入门介绍

    why Smarty? 随着公司首页(以下简称首页)流量越来越大,最近开始考虑使用后台语言生成静态页面的技术. 我们知道,一个简单页面一般是一个 .html(或者 .htm ..shtml)后缀的文件 ...

  9. 用RxJava处理嵌套请求

    用RxJava处理嵌套请求 互联网应用开发中由于请求网络数据频繁,往往后面一个请求的参数是前面一个请求的结果,于是经常需要在前面一个请求的响应中去发送第二个请求,从而造成"请求嵌套" ...

  10. list转datatable

    /// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list&q ...