https://gmoj.net/senior/#main/show/5051 Solution 首先注意到每个点有且只有一条出边,也就是说这是一个环套树(森林). 那么我们可以贪心. 首先这个森林里入度为零的点一定要跟root连边,因为没有任何其他的点可以到入度为零的点,然后就可以通过这些点更新其他的点.这个可以用拓扑来完成. 我们设dis数组表示每个点到root的距离,在拓扑中,如果我们遇见了一个dis>k且入度为零的点,那么就将它和root连边. 这样子树就处理完了,那么我们来考虑环. 不…
题目大意: 判断一个序列是否是另外一个序列删除若干个数字之后得到的. 正文: 我们可以定义两个指针,分别指向长序列和短序列. 拿样例来举例: 如果指针指的数相同,两个指针都往右跳: 如果不同,则指向长序列的指针往右跳: 以此类推. 超时,得分 \(\texttt{30}\) 分. 考虑将长序列每一个出现过的数的位置存起来,然后用二分找合适的位置.可以用 \(vector\) 来存,再用一个变量 \(last\) 记录短序列每一个数字在长序列出现的位置,二分时就可以找大于上一个数的 \(last\…
题目 描述 题目大意 有111到2n2n2n牌,一开始分别给两个人,每人nnn张. 轮流出牌,给出对手出牌的顺序,若自己的牌更大,就记一分. 在中间的某个时刻可以改变游戏规则. 问最大的分数. 思考历程 显然,一定是把大的放分界点左边,把小的放右边. 那可以枚举分界点,两边分别计算就可以了.时间复杂度为O(n2)O(n^2)O(n2),朴素的暴力算法. 接下来我就想有没有什么数据结构可以在枚举分界点的时候维护左右两边的答案. 想不出-- 换种简单的思路. 当分界点从左向右移动的时候,左边的答案会…
题目 描述 题目大意 有一个010101序列,可以改变状态,每个状态改变都有固定的代价. 接下来有些人想要将一些位置改成特定的状态,如果按照他们要求做了就可以得到一些钱, 否则得不到,有时还要陪钱. 问最后的钱最多是多少. 思考历程 看到这题的第一眼就觉得是一道神题. 只能想到最恐怖的暴力算法-- 这题肯定不可以DP,那么就想想贪心和网络流. 觉得这题做法一定是贪心,因为有10410^4104这么大,肯定不是网络流啊! 到最后还是没有想出来. 正解 正解早就被我否定了!(真香) 这题的正解就是网…
题目描述 在比特镇一共有n 个街区,编号依次为1 到n,它们之间通过若干条单向道路连接. 比特镇的交通系统极具特色,除了m 条单向道路之外,每个街区还有一个编码vali,不同街区可能拥有相同的编码.如果val_i and val_j = val_j,即val_i 在二进制下与val_j 做与运算等于val_j,那么也会存在一条额外的从i 出发到j 的单向道路. Byteasar 现在位于1 号街区,他想知道通过这些道路到达每一个街区最少需要多少时间.因为比特镇的交通十分发达,你可以认为通过每条道…
题目描述 宅邸迅速的燃烧着,必须带贝蒂走出禁书库!凭着感觉,又一次直接找到禁书库的门. "你,是那个人嘛?"400年了,当初圣域建立结界时没有进入圣域,被伤了心的人工精灵贝蒂,与强欲魔女签订契约,守护宅邸的禁书库,直至"那个人"的到来,那个人会解开贝蒂的心结. "我不是那个什么人,但我会成为你唯一的人.我会给你幸福!" 精灵与人签订契约,从此相依为命.这便是,永恒的契约. 宅邸里,罗兹瓦尔的房间图书柜后,有一条链接宅邸和圣域的秘密通道,其中有一个…
T1 自然数 考场上当我发现我的做法可能要打线段树的时候,以为自己百分之百是考虑麻烦了 但还是打了,还过掉了所有的样例,于是十分自信的就交了 正解还真是线段树,真就第一题数据结构 但是包括自己造的小样例还是大样例我都少考虑了一个问题,就是元素可能相等 所以估分$100$实际只有$68$,以后造样例的时候还是要根据题目搞一些极端的数据出来 先说暴力吧,考虑到$a_i$的值域是拿来吓唬人的,因为$mex$不可能超过$2e5$ 所以大于边界的值直接跳过不考虑,这个条件比较关键 那么我们使用经典指针 $…
1.简介一下多级轮转调度 多级轮转调度是一种提高调度效率的解决方案,简单讲就是讲要执行的程分成几个优先级的列队即例如三个,第一个列队分10个时间片,第二个列队分配1000个时间片,第三个列队表示1000个时间片,每一个进程在调度池中首先要进入如第一个列队,并执行10个10间片,完事之后,会放入第二个列队,当第一个列队没有进程之后,在执行第二个列队中的进程,不出意外的话,就以此类推.那么会出现什么意外呢.主要有两个,第一抢占,第二程序执行完毕. 2.由小到大的构建进程的模拟 2.1进程: 对于进程…
一.測试程序编写说明 我们做的终端设备上运行的是QT应用程序.使用自己定义的键盘接口.经过測试人员长时间的人机交互測试,来确认系统的功能是否满足需求. 如今须要编写一个自己主动化的測试程序,能够依照预设的脚本运行,比方某个按键须要连续运行10000次.或是通过连续几个按键动作运行特定的业务流程10W次.通过这种自己主动測试,能够减轻測试人员的负担,还能够查看触发N次按键后,画面运行N次后的系统的稳定性,如内存使用率,cup使用率等等. 设备有4*4的键盘,包含0-9,C(Call).A.U(up…
刚题的习惯还是改不了,怎么办??? T1 Dove打扑克 考场上打的动态开点线段树+并查集,考后发现自己像一个傻子,并查集就行.. 这几天恶补数据结构疯了 用树状数组维护后缀和,$siz_i$表示编号为$i$的牌堆的卡牌个数,并使用桶记录一下这种数量级的牌堆的个数 同时使用$set$维护一下还存在的牌堆的编号 在合并的时候按照题目原理对各种维护数组加加减减操作就行,注意在一类数量级的桶没有东西之后,要将$set$中的相应元素删掉 查询的时候遍历$set$中的元素,查询即可. 1 #include…