首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
tyvj/joyoi 1336 火车进栈
】的更多相关文章
tyvj/joyoi 1336 火车进栈
比原题水了很多(因为原题要高精度) 输出字典序前20种出栈序列. 其实是贪心题:我们每次确定一个出栈的数. 当栈里有数时,字典序显然比从后面拿数要小,所以先搜这个. 之后依次搜后面队列里的数,因为字典序依次增大. 有20个答案了就exit(0). 然后就一遍AC了!! #include <cstdio> #include <algorithm> using namespace std; ; int n, ans; int l[N], r[N], d[N], tl, tr, td;…
tyvj/joyoi 1374 火车进出栈问题(水水版)
我受不了了. Catalan数第100项,30000项,50000项,cnm 这tm哪里是在考数学,分明是在考高精度,FFT...... 有剧毒! 我只得写高精度,只能过100的那个题,两个进化版超时...... #include <cstdio> #include <string> using namespace std; ; int p[N], tp, sum[N]; bool vis[N]; struct LL { string n; LL operator * (const…
火车进栈(进出栈的模拟,dfs爆搜)
这里有n列火车将要进站再出站,但是,每列火车只有1节,那就是车头. 这n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个死胡同,而且站台只有一条股道,火车只能倒着从西方出去,而且每列火车必须进站,先进后出. 也就是说这个火车站其实就相当于一个栈,每次可以让右侧头火车进栈,或者让栈顶火车出站. 车站示意如图: 出站<—— <——进站 |车| |站| |__| 现在请你按<字典序>输出前20种可能的出栈方案. 输入格式 输入一个整数n,代表火车数量.…
0x11栈之火车进栈
参考<算法竞赛进阶指南>p.49 题目链接:https://www.acwing.com/problem/content/description/131/ 递推与递归的宏观描述 对于一个待求解的问题”,当它局限在某处边界.某个小范围或者某种特殊情形时,其答案往往是已知的.如果能够将该解答的应用场景扩大到原问题的状态空间,且扩展过程的每个步骤具有相似性,就可以考虑使用递推或者递归求解.以已知的“问题边界”为起点向“原问题”正向推导的扩展方式就是递推.然而在很多时候,推导路线难以确定,这时以“原问…
tyvj/joyoi 1305 最大子序和
带了一个转化的单调队列裸题. 转化为前缀和相减即可. 有一点需要注意:从0开始入队而不是1,因为要统计第一个. (从网上找的对拍程序,结果别人写错了) /** freopen("in.in", "r", stdin); freopen("my.out", "w", stdout); */ //// ///////////////////////////// #include <cstdio> ; ; inline…
tyvj/joyoi 1043 表达式计算4
这题怎么这么毒瘤... 一开始我想转后缀表达式来计算,后来发现有负数...弃疗. 递归求解又发现会有多余括号,我觉得不行... 实在是毒瘤啊! #include <cstdio> #include <iostream> #include <string> typedef long long LL; std::string s; bool isop(char c) { ; ; ; ; ; ; } LL pow(LL a, LL b) { LL ans = ; ; i &l…
tyvj/joyoi 2018 小猫爬山
2018,这个题号吼哇! 搜索第一题,巨水. WA了一次,因为忘了还原... #include <cstdio> ; int n, W, ans, weigh[N], cost[N]; inline void min(int &a, int b) { if(a > b) a = b; return; } void DFS(int k, int cnt) { ) { min(ans, cnt); return; } if(cnt >= ans) return; ; i <…
tyvj/joyoi 1340 送礼物
论搜索顺序的优越性. 从小到大搜索,T到怀疑人生. 从大到小搜索,轻松AC. 双向搜索. 是这样的.我们首先排序一下,然后翻转.(当然也可以写cmp) 然后我们搜前半部分,把结果记录在某一数组中. 然后把结果排序(去重),再搜另一部分. 接下来有两种想法: 1.同样方式处理另一部分,然后双指针扫描. 2.第二次每次搜到终点,二分更新ans. 还可以加上剪枝:如果当前的和加上后面所有再加上第一部分最大值都达不到ans,剪枝. 还可以用set,但是CE了...不知道为什么. 细节顺序还可以更优,但是…
C++ HOJ 火车进站
[问题描写叙述] 给定一个正整数N代表火车数量.0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号. 要求以字典序排序输出火车出站的序列号. 输入: 有多组測试用例,每一组第一行输入一个正整数N(0<N<10),第二行包含N个正整数,范围为1到9. 输出: 输出以字典序排序的火车出站序列号,每一个编号以空格隔开,每一个输出序列换行.详细见sample. 例子输入: 3 1 2 3 例子输出: 1 2 3 1 3 2 2 1 3 2 3 1 3…
UVA-514 Rails (栈)
Rails There is a famous railway station in PopPush City. Country there is incredibly hilly. The station was built in last century. Unfortunately, funds were extremely limited that time. It was possible to establish only a surface track. Moreover,…