Noip2013(普及组) 车站分级】的更多相关文章

思路: 对于每一趟车,将区间内所有经停的站和所有未经停的站连一条边,表示前者优先级一定高于后者,然后用Kahn跑一遍拓扑排序即可.然而这样会创造大量多余的边,会TLE1个点.考虑一种优化:因为每趟车本身也有一个优先级,因此可以将这趟车也看作一个点,每次先所有将经停的站连一条边到这两车上,表示这些站的优先级一定大于等于车的优先级,再将车连若干边到未经停的点,表示车的优先级一定大于未经停的站的优先级. #include<queue> #include<cstdio> #include&…
题目描述 一条单向的铁路线上,依次有编号为 , , …, n 的 n 个火车站.每个火车站都有一个级别,最低为 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x,则始发站.终点站之间所有级别大于等于火车站 x 的都必须停靠.(注意:起始站和终点站自然也算作事先已知需要停靠的站点) 例如,下表是 趟车次的运行情况.其中,前 趟车次均满足要求,而第 趟车次由于停靠了 号火车站( 级)却未停靠途经的 号火车站(亦为 级)而不满足要求. 现有 m 趟车次的运行情况(…
[NOIP2013 普及组]车站分级 一.题目 [NOIP2013 普及组]车站分级 时间限制: 1 Sec  内存限制: 128 MB 提交: 3  解决: 0 [提交][状态][讨论版] 题目描述 一条单向的铁路线上,依次有编号为 1, 2, …, n 的 n 个火车站.每个火车站都有一个级别,最低为 1 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x,则始发站.终点站之间所有级别大于等于火车站 x 的都必须停靠.(注意:起始站和终点站自然也算作事先已…
计数问题 纯模拟 #include<cstdio> #include<iostream> using namespace std; int main(){ int n,x; cin>>n>>x; ; ;i<=n;i++){ int a=i; ){ ==x)c++; a/=; } } cout<<c; ; } 计数问题 表达式求值 模拟计算,扫一遍出解 /*NOIP2013普及组t2 洛谷P1981 表达式求值*/ /**/ #include…
T1  计数问题 题目描述 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1 到 11 中,即在 1.2.3.4.5.6.7.8.9.10.11 中,数字 1 出现了 4 次. 输入输出格式 输入格式: 输入文件名为 count.in. 输入共 1 行,包含 2 个整数 n.x,之间用一个空格隔开. 输出格式: 输出文件名为 count.out. 输出共 1 行,包含一个整数,表示 x 出现的次数. 输入输出样例 输入样例#1: 11 1 输出样…
OJ地址:洛谷P1981 CODEVS 3292 正常写法是用栈 #include<iostream> #include<algorithm> #include<cmath> #include<stack> #include<cstring> #include<cstdio> using namespace std; ]; stack<long long>num;//数 stack<char>sy;//符号 v…
[NOIP2013 普及组] 表达式求值 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值. Input 一行,为需要你计算的表达式,表达式中只包含数字.加法运算符"+"和乘法运算符"*",且没有括号,所有参与运算的数字均为 int 范围内的正整数. 输入数据保证这一行只有0~9.+.*这12种字符. Output 一个整数,表示这个表达式的值. 直接上代码 1 #include<iostream> 2 long long a[1000001…
题目描述 试计算在区间 11 到 nn的所有整数中,数字x(0 ≤ x ≤ 9)x(0≤x≤9)共出现了多少次?例如,在 11到1111中,即在 1,2,3,4,5,6,7,8,9,10,111,2,3,4,5,6,7,8,9,10,11 中,数字 11 出现了 44 次. 输入格式 2个整数n,xn,x,之间用一个空格隔开. 输出格式 1个整数,表示xx出现的次数. 输入输出样例 输入 #1 11 1 输出 #1 4 思路 循环1-n所有数,依次找到这些数中的x出现的次数 C++代码 /* *…
妈蛋这道普及组水(神)题搞了我非常久. 一. 首先一个非常显然的事情就是每一个火车告诉了站与站之间的等级关系,所以拓扑求最长路. 可是发现暴力建边的话最坏能够达到500*500,所以时间复杂度有O(MN2)≈2.5∗108,常数相当小. .数据水成狗,所以绝对能够过的. 二. 所以我就想到了bitset,把每辆火车做成一个长N的布尔向量.经过为1,不经过为0,第一个车站的左边和最后一个车站的右边补1,. 然后对于每一个车站,把全部它所在的位为1的向量都&起来,然后扫一遍向量连边. 这样做的时间复…
虽然普及组一般都是暴力省一,但是有一些题目还是挺难的qwq个人觉得能进TG的题目会在前面打上'*' NOIP2002(clear) #include<bits/stdc++.h> using namespace std; int main(){ std::ios::sync_with_stdio(false); ; ; cin >> k; while(Sn <= k) Sn += 1.0 / i++; cout << --i; ; } 级数求和 //递推 #inc…