股神小L】的更多相关文章

股神小L (stock.c/pas/cpp)============================ 小L厌倦了算法竞赛,希望到股市里一展身手.他凭借自己还行的计算机功底和可以的智商,成功建立一个模型预测了一支股票接下来n天的价格. 我们把这支股票第i天的价格称为a_i.在接下来n天里,每一天小L可以选择花费a_i买入一股或者卖出一股从而获得a_i元收入. 当然小L卖出股票的时候,自己的账户上必须要有至少一股的剩余.现在小L希望知道,在n天过去之后,采取最优策略的情况下自己最多赚到多少钱. 注意…
题解 贪心 若当前手中还持有股,则一定会卖出去. 否则,考虑之前卖出的最便宜的股,若售价比当前的股高,就买下这个股,否则我们就把之前卖出的最便宜的股改为买入,这样一定会有股,然后再把这个股卖出即可. 简单题,用堆维护即可. #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> #…
维护前i天的最优解,那么在后面可能会对前面几天的买卖情况进行调整 如果前面买入,买入的这个在后面一定不会卖出 如果前面卖出,卖出的这个可能会在后面变成买入,因为买这个,卖后面的会获得更多的收益 用一个小根堆,存储前面所有的卖出的股票的价格 如果后面想卖出,扔到堆里 如果后面想买入,与堆顶元素比较,如果堆顶大,那就买入:如果堆顶小,那就把堆顶的卖出改为买入,后面那个卖出 即能卖就暂时先卖,扔到堆里,不优再调整 #include<queue> #include<cstdio> #inc…
题面 思路 股票题肯定是贪心或者$dp$啊 这个题比较$naive$,可以看出来你这里买股票的过程一定是能不买就不买,能卖就拣最贵的日子卖,而且时间不能倒流(废话= =||) 所以我们按照时间从前往后维护一个堆,表示你要卖股票的日子 每次访问到的时候,先把当前加进堆里 然后如果买的没有卖的多(也就是堆的size比已经过去的日子的一半多了),就买最便宜的那个 这样就做完了,300B良心题 Code #include<cstdio> #include<algorithm> #inclu…
Solution 考虑怎么卖最赚钱: 肯定是只卖不买啊(笑) 虽然说上面的想法很扯淡, 但它确实能给我们提供一种思路, 我们能不买就不买; 要买的时候就买最便宜的. 我们用一个优先队列来维护股票的价格, 从前往后扫描. 假设我们已经知道了到前一天的最优策略, 考虑到当前这一天的最优策略: 假如手上还有股票, 那么一定是要把它卖掉的; 假如已经没有股票了, 那么我们就在原本打算卖出的股票以及这一天的股票中选出股价最低的买入. 用优先队列维护股价, 从第一天往后扫描即可. #include <cst…
Description Solution 将(u,v,l,r)换为(1,u,v,l)和(2,u,v,r).进行排序(第4个数为第一关键字,第1个数为第二关键字).用LCT维护联通块的合并和断开.(维护联通块的大小,要维护虚边) 答案统计:每当四元组的第一个数为1(这时候合并点u,v所在连通块,反之拆开),在合并前ans+=size[u]*size[v]即可. Code #include<iostream> #include<cstdio> #include<cstring&g…
题面 思路 点分治非常$naive$,不讲了,基本思路就是记录路径最小最大值.....然后没了 重点讲一下LCT的做法(好写不卡常)(点分一堆人被卡到飞起hhhh) 首先,这个路径限制由边限制决定,而树中的每条边都是割边 考虑一条边$i$,范围是$[l_i,r_i]$,那么当时间不在这个范围内的时候,这个边两边的点肯定不能跨过这条边有赚钱路径 那么,也就是说这一条边当且仅当时间在$[l_i,r_i]$范围内的时候生效 这样,我们可以考虑把边权范围限制变成一次加边和一次删边 我们把一条边根据加入删…
题目大意: 给定一棵树,每一条边有$L,R$两种权值,求有多少条路径满足$\max(L)\leq\min(R)$. 解法$1-$点分治$+$二维数点 统计树上的路径应首先想到点分治,我们很显然可以搜出过从分治重心出发的每一条路径,对应着当前重心的每一棵子树存在的若干个区间$[L_i,R_i]$,若两个不同的子树内的区间产生贡献,即这两个点形成的路径符合要求,当且仅当$[L_1,R_1]\cap[L_2,R_2]\ne\emptyset$,换言之,当两个点形成的路径没有贡献,当且仅当$R_1<L_…
Solution 正解是一个\(\log\)的link-cut tree. 将一条边拆成两个事件, 按照事件排序, link-cut tree维护联通块大小即可. link-cut tree维护子树大小非常不熟练. 正确的做法是每个点开两个变量size和add, 分别表示在splay中以这个点为根的所有点所在的子树的点的数量, 以及以当前点为根的子树由虚边贡献的点的数量. #include <cstdio> #include <cctype> #include <algori…
题解: 题解居然是LCT……受教了 把所有区间按照端点排序,动态维护目前有重叠的区间,用LCT维护即可. 代码: #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> using namespace std; typedef long long ll; struct node{…
题目描述 有股神吗? 有,小赛就是! 经过严密的计算,小赛买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天...依此类推. 为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱? 输入 输入包括多组数据: 每行输入一个n,1<=n<=10^9 . 样例输入 1 2 3 4 5 输出 请输出他每股股票多少钱,对于每组数据,输出一行. 样例输出 1 2 1 2 3 时间限制C/C++语言…
题目背景 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣. 所以,小L当时卡在了二叉树. 题目描述 在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他又和他人讨论起了二叉搜索树.什么是二叉搜索树呢?二叉搜索树首先是一棵二叉树.设key[p]表示结点p上的数值.对于其中的每个结点p,若其存在左孩子lch,则key[p]>key[lch]:若其存在右孩子rch,则k…
D的小L 时间限制:4000 ms  |  内存限制:65535 KB 难度:2   描述       一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0<n<10),写出1到n的全排列,这时匡匡有点囧了,,,聪明的你能帮匡匡解围吗?   输入 第一行输入一个数N(0<N<10),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个整数x(0<x<10)…
D的小L 时间限制:4000 ms  |  内存限制:65535 KB 难度:2 描述       一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0<n<10),写出1到n的全排列,这时匡匡有点囧了,,,聪明的你能帮匡匡解围吗? 输入 第一行输入一个数N(0<N<10),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个整数x(0<x<10) 输出 按…
U4727 小L 的二叉树 题目背景 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣. 所以,小L当时卡在了二叉树. 题目描述 在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他又和他人讨论起了二叉搜索树.什么是二叉搜索树呢?二叉搜索树首先是一棵二叉树.设key[p]表示结点p上的数值.对于其中的每个结点p,若其存在左孩子lch,则key[p]>key[lch]…
[BZOJ4030][HEOI2015]小L的白日梦 题面 BZOJ 洛谷 题解 要求的是最小的不开心连续段的期望. 然后发现自己就不会做了. 然后就可以来抄题解啦. 首先来猜性质: 第一个,一定是按照不高兴的概率单调不增的一个序列. 还是比较容易猜到的,这个证明也不难,首先我们把这个期望的式子给列出来,发现是: \[E=\sum_{i=1}^n (1-a_{i-1})a_i\] 也就是强制在每一段的开头位置统计,那么这个位置必定满足前一天是开心的,且这一天是不开心的.并且因为是单调的,所以满足…
4030: [HEOI2015]小L的白日梦 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 172  Solved: 39[Submit][Status][Discuss] Description 在某一天,你有了一个女性朋友. 你打算利用k天时间陪她,每天有很多种娱乐方式可供选择,你需要从中选择一种进行(一天只能进行一个项目),比如说一起去看电影.一起去主题公园,一起去逛街等等,一共n种项目.当然每个项目重复太多次你都会觉得无聊,因此第i个项目…
题目描述 小L最近在努力学习英语,但是对一些词组总是记不住,小L小把这些词组中每一个单词的首字母都记一下,这样形成词组的缩写,通过这种方式小L的学习效率明显提高. 输入 输入有多行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成:每组的单词个数不超过10个,每个单词由大.小写字母组成: 单词长度不超过10,由一个空格分隔这些单词. 输出 对应每一个词组,输出词组的缩写,缩写都用大写字母,每组输出占一行. 样例输入 Copy end of file 样例输出 Copy EOF 注…
题目描述 小L期末考试结束,高高兴兴放假回家了,可是那么多试卷,老师还要加班批改,有n份试卷由k个老师批改,n份试卷进行了密封编号,由于试卷上的做题情况和书写的规范程序不一样,批改不同的试卷用时也可能不一样,每个老师批改试卷的编号顺序是连续的,每位老师批改完分配给自己的试卷就可以离开,问最后离开的老师,最短可能的用时是多少,假定一份试卷让任何一位老师批改用时都是一样的.现在请你设计一种分配方案,使得最后离开的老师用时最短. 输入 第一行两个整数n,k:(0<k≤n≤1000) 第二行n个整数,第…
题目描述 小T送给了小L了一串项链.为了方便,我们把项链上形态不同钻石用不同的字母表示.这样小L的项链就变成了一个字符串.小L忽然想把这串项链优美地切割一下,她想把它切割成尽量少的回文项链,啊也就是回文串.求最少的切割次数. 输入 第一行一个整数T 表示数据组数 下面T组数据,每一组数据: 只有一行,一个只有小写英文字母的字符串,字符串长度 <= 1000. 输出 对于每一组数据,输出将这个字符串能切割成最少的回文串所需切割的次数. 样例输入 Copy 2 abaacca abcd 样例输出 C…
题目描述 在给定的一个整数序列中,小L希望找到一个连续的区间,这个区间的和能够被k整除,请你帮小L算一下满足条件的最长的区间长度是多少. 输入 第一行输入两个整数n.k.(1 <= n <= 105,1<=k<100)接下来一行输入n个整数,表示序列中的数. 输出 输出一个整数,满足条件区间的最长长度,如果不存在,输出0 样例输入 Copy 5 7 1 2 4 1 1 样例输出 Copy 3 #include <bits/stdc++.h> using namespac…
D的小L 时间限制:4000 ms  |           内存限制:65535 KB 难度:2   描述       一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0<n<10),写出1到n的全排列,这时匡匡有点囧了,,,聪明的你能帮匡匡解围吗?   输入 第一行输入一个数N(0<N<10),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个整数x(0<…
D的小L 描述  一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0<n<10),写出1到n的全排列,这时匡匡有点囧了,,,聪明的你能帮匡匡解围吗?   输入 第一行输入一个数N(0<N<10),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个整数x(0<x<10) 输出 按特定顺序输出所有组合. 特定顺序:每一个组合中的值从小到大排列,组合之间按字典…
小L的占卜 题目描述 小 X 的妹妹小 L 是一名 XXX 国的占卜师,她平日的工作就是为 X 国进行占卜. X 国的占卜殿中有一条长度为 NNN 米的走廊,先人在走廊的每一米都放置了一座神龛,第 iii 座神龛能够产生 AiA_iAi​ 点灵力.相同类型的神龛产生的灵力是相同的,不同类型的神龛产生的灵力是不同的,也就是说,如果两座神龛 iii, jjj 产生的灵力 Ai,AjA_i, A_jAi​,Aj​ 相同,那么神龛 i,ji, ji,j 是相同类型的神龛,否则,神龛 i,ji, ji,j…
题目背景 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣. 所以,小L当时卡在了二叉树. 题目描述 在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他又和他人讨论起了二叉搜索树.什么是二叉搜索树呢?二叉搜索树首先是一棵二叉树.设key[p]表示结点p上的数值.对于其中的每个结点p,若其存在左孩子lch,则key[p]>key[lch]:若其存在右孩子rch,则k…
我回来啦 试题描述 今天是万圣节,小L同学开始了一年一度的讨要糖果游戏,但是在刚刚过去的比赛中小有成就的他打算给自己增加一点难度:如果没有讨到每一家的糖果就算输. 已知小L共有n(n不大于10000)个邻居,他们都在同一条街上(可以近似看成一条直线),第i个邻居的坐标是xi.L同学的妈妈会在一开始把他送到任意邻居的门前.现在已知所有邻居会在di时间后休息(休息以后不能再去打扰),求访问完所有点的最短时间,如果无解输出“No solution”. 输入 输入第一行为一个正整数表示n,接下来n行,每…
题目链接 题目描述 在给定的一个整数序列中,小L希望找到一个连续的区间,这个区间的和能够被k整除,请你帮小L算一下满足条件的最长的区间长度是多少. 输入 第一行输入两个整数n.k.(1 <= n <= 105,1<=k<100)接下来一行输入n个整数,表示序列中的数. 输出 输出一个整数,满足条件区间的最长长度,如果不存在,输出0 样例输入 5 7 1 2 4 1 1 样例输出 3 题解: 先将数组的前缀和数组构建起来.在构建过程中模K,所以此时前缀和数组中所有数属于[0,K-1]…
D的小L 时间限制:4000 ms  |  内存限制:65535 KB 难度:2   描述       一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0<n<10),写出1到n的全排列,这时匡匡有点囧了,,,聪明的你能帮匡匡解围吗?   输入 第一行输入一个数N(0<N<10),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个整数x(0<x<10)…
366-D的小L 内存限制:64MB 时间限制:4000ms 特判: No 通过数:5 提交数:7 难度:2 题目描述:       一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0<n<10),写出1到n的全排列,这时匡匡有点囧了,,,聪明的你能帮匡匡解围吗? 输入描述: 第一行输入一个数N(0<N<10),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个整数…
https://www.luogu.org/problem/show?pid=T2487 题目背景 小L那没出息的儿子当上了一个公交司机. 题目描述 每个司机都有一个牌子,牌子的正面标出了这个司机所开的线路号.另外一面则随便写了一个号码.但是,当小L的儿子拿到他的牌子时,却发现牌子的两面都不是他开的线路号,所以他决定跟其他人换.(真笨~不会找领导吗?)当然,所有的司机都只有当小L的儿子手里的牌子的某一面上写了自己的线路号时才愿意跟他换,所以,小L想知道自己的儿子至少要换几次牌子才能换到一张写有自…