ICode9

精准搜索请尝试: 精确搜索
  • 暑假集训22022-08-12 21:00:57

    题面 A.LCIS 一道裸的求LCIS(最长公共上升子序列)题. \(dp\)数组储存到\(b\)的第\(i\)项,\(a\)从\(1-n\)的且以\(b[i]\)结尾的最⻓公共上升⼦序列⻓度. 那么\(dp\)过程显然: if(a[i]>b[j]&&maxx<f[j]) maxx=f[j];更新可以⽤于更新\(b\)序列与\(a\)序列前\(i\)位的最⻓⻓度的最⼤值.

  • CodeForces-427C Checkposts2022-08-12 14:31:35

    Checkposts \(tarjan\) 如果是 \(DAG\) 图,则只用找入度为 \(0\) 的点即可 因此考虑缩点后,找所有入度为 \(0\) 的点 最小值则为,缩点后所有入度为 \(0\) 的强连通块中,每个都拿一个代价最小的点 方案数为,在上述的强连通块,记录一下代价最小的点有多少个,全部相乘即可 因此 \(tarjan\)

  • CSES-1682 Flight Routes Check2022-08-12 14:00:49

    Flight Routes Check 判断是不是一个强连通图,如果不是,就找出不能到达的单程 tarjan 模板 判断不能到达的,直接从 \(1\) 开始走一次搜索,如果与 \(1\) 不同强连通块上的点,且 \(1\) 能够到达那个点,显然答案就是从那个点到 \(1\) 记得考虑整个图不连通的情况 #include <iostream> #incl

  • CF1178G The Awesomest Vertex2022-08-11 16:32:39

    前言 思维量还可以(也挺大的)但是代码量巨大(写起来特别不舒服)的又一道神仙题。 正文 题目大意:一棵树 \(n\) 个节点,以 \(1\) 为根,每个节点有两个属性 \((a,b)\),\(R(v)\) 为 \(v\) 的祖先(包括自己): \[|\sum_{u\in R(v)}a_u|\cdot|\sum_{u\in R(v)}b_u| \]需要支持: 将 \(a_v\) 加上 \(x

  • CF1580E Tree Calendar2022-08-11 16:02:44

    前言 被这道题虐暴了…… 正文 题目大意:有一棵 \(n\) 个节点,以 \(1\) 为根的树,你求出它的 dfs 序 \((a_1,...,a_n)\),每次操作可以: 选择最小的 \((a_u,a_v)\),满足 \(u\) 与 \(v\) 有有向边相连且 \(a_u<a_v\),并交换 \(a_u,a_v\)。 现在知道 \(k\) 次操作以后的 \(a_i\),请求出 \(k

  • 题解 [SCOI2005]王室联邦2022-08-10 20:30:39

    之前树分块也只是听说,今天亲手学了一下(?)( 首先你会发现这个 \(B\) 和 \(3B\) 的约束就很迷(我也不知道为什么搞这种奇怪的约束(悲)),学了才知道。。。 所以这题的分块方法好像叫“王室联邦分块法”。 可还行~ 不吹水了,来口胡一波。 首先明确一点,任何一个省会一定是一群节点的祖先。 因此

  • 「UOJ751」神隐2022-08-10 16:02:30

    题目 点这里看题目。 分析 交互题好难啊.jpg 我们先来分析一下怎么才能找出来一条边。假如编号为 \(k\) 的边被加入到 \(G\) 中的询问集合为 \(Q_k\),则询问必须满足对于任意的存在公共点的 \(e_1,e_2\),\(Q_{e_1},Q_{e_2}\) 之间不存在包含关系。否则我们无法准确地确定边的端点。

  • 2022.8.8 心态爆炸记录2022-08-09 01:04:41

    Preface 又是颓废的一天! Content [CF1251E2]Voting(Hard Version) 一共有 \(n\) 个选民,你可以付出 \(p_i\)​ 的代价让第 \(i\) 个选民为你投票,或者,在为你投票的人数达到 \(m_i\)​ 时,他会主动为你投票而不用你付出任何代价。 问得到所有选民投票的最小代价。 \(1\le n \le 2\t

  • 2022.8.7 躺平记录2022-08-08 00:33:21

    Preface 真的摆了一整天啊啊啊啊啊啊。 Content 昨晚打比赛睡太晚,导致今天起得很晚。 早上去看题,写了道构造题,不出意外崩了,果断跑路。 下午打入门月赛,G 题死活三个点过不去,H 题想都懒得想。 然后把电脑给弟弟玩了好久,晚上九点才拿回来 QAQ。 [CF500E]New Year Domino \(N\) 个多

  • 归档:220807 | 开门水题:STL 系列模板题2022-08-08 00:32:47

    所有题目都在橙到绿之间。梦回小学。 UVA [101] - The Blocks Problem 用一个前驱数组和一个后继数组维护一个类似于链表的结构。 然后每次更改根据题意要求,依次递进地更改结点的前驱 / 后继即可。 namespace XSC062 { using namespace fastIO; const int maxn = 35; char t, t1

  • 《动态规划学习笔记》Day1-数字金字塔2022-08-07 19:02:41

    这是一道经典的洛谷水题了,虽说是IOI的(但毕竟很古老了),然后我提供一下我的思路吧。 链接洛谷题面:https://www.luogu.com.cn/problem/P1216 首先,金字塔的输入规律应该不用讲了,从第一行i=1开始读入,一直到i=n,每行读入i个数字,取路径上的最大值。 设dp状态为走到第i行第j列时的最大值。

  • 左偏树2022-08-07 18:34:24

    作为可并堆的一种,左偏树算是又好写功能全且复杂度比较优的了 首先介绍一下结构: 左偏是指定义的 \(dis\) 值左子树比右子树大 \(dis\) 指的是 \(min(son_0,son_1)+1\),叶节点为零 注意这里的 \(dis\) 并不是深度,左偏树的深度是没有保证的,哪怕是一条链,只要满足左偏的性质就是符合的

  • 【题解】「JOI 2015 Final」JOI 公园2022-08-07 10:33:41

    Description Solution Code #include <cstdio> #include <algorithm> #include <queue> #define int long long using namespace std; const int MAXN = 1e5 + 10, MAXM = 4e5 + 5, INF = 1e18; int n, m, C; int head[MAXN], nxt[MAXM], ver[MAXM], edge[

  • 【题解】「JOISC 2014 Day1」有趣的家庭菜园2022-08-07 10:31:25

    Description Solution 我们不难发现最终得到的是一个单峰序列,所以中间那个草一定放最高的,然后往两边依次放叫矮的。 由于每一次操作会增加一组逆序对,所以只需要思考如何让最终序列的逆序对数最少。 我们可以正反跑两次,放那边的逆序对最少,就是每一个草的贡献,就去那边,最后求和即可

  • CF285C题解2022-08-07 10:02:06

    题目大意: 就是给你一个长度为 \(n\) 的序列 \(a_i\) ,现在只能进行 \(+1\) 和 \(-1\) 的操作,问你最少需要多少步操作才能将原序列变为下标从 \(1\) 到 \(n\) ,且数值同样从 \(1\) 到 \(n\) 的序列。 题目分析: 这题我们可以使用贪心的策略,我们这样想: 将序列按从小到大的顺序排序后,每

  • 2022.8.6 颓废记录2022-08-07 02:02:11

    Preface 又是颓废的一天 www Content [CF912D]Fishes 有一个长为 \(n\),宽为 \(m\) 的鱼缸,还有一个边长为 \(r\) 的正方形渔网。往鱼缸里放 \(k\) 条鱼,问用渔网随机在浴缸里捞鱼的最大期望是多少。 \(1\le r \le n,m\le 10^5,1\le k \le \min(n\times m,10^5)\)。 虽然题面含期望

  • 洛谷P1571题解2022-08-07 00:04:03

    我寻思着拿两个指针一扫不就得了? 首先把特殊贡献奖和科技创新奖排好序,再用指针寻找两个序列中编号相同的,最后输出。 时间复杂度大概为O(2*n*log(n)+2n) 因为排序打乱了原先科技创新奖获奖名单中的先后次序,所以我们要记录好每一个获得科技创新奖的人的编号的位置,并记录好原科

  • 考后总结——8.4 暑假模拟162022-08-05 15:33:03

    概述 又名:来自学长的告别 估分:\(???+???+40+20=???\) 实际挂分:\(0+10+20+50=90\) rk 19 赛时 干了快两小时 T1,以为是最可做,结果赛后发现 T1 人均最低分。 T2 最后感觉像是二分,但是判断写的是关于圆位置关系的函数,假掉了。 T3 和 T4 没什么思路,打了暴力跑路。 反思 和暴力拍过了,可

  • CF126B password SAM做法2022-08-05 13:01:43

    题意 找出 \(S\) 的最长的子串 \(T\),满足 \(T\) 是 \(S\) 的前缀、后缀,并在中间出现过。不存在则输出 Just a Legend 思路如下: 题目要求目标串是 Border,并且在中间出现过,即要求子串是 Border ,并且出现次数大于等于 3 次。 那么我们记录字符串末尾在 SAM 中的位置 pos,然后跳它到根

  • Gambling2022-08-05 10:31:48

    传送门 题意: 在每一轮游戏玩家选择一个数字从1 ~ 1e9, 在这之后一个甩子有1e9个面旋转,会出现任意的一个数字,如果这个玩家猜对了,他们的钱就会成倍,如果猜错了,他们的钱就会减半,M能够遇见未来,知道n个回合甩子将会展现的数字\(x_1, x_2, x_3, \cdots, x_n\), 他将会选择三个数字a, l, r(

  • D2022-08-05 01:31:08

    做法 1 首先第 \(i\) 次至少会加上数字 \(i\),所以前 \(i\) 次跳最少会到 \(\cfrac{i(i+1)}{2}\),所以跳的次数最大是根号级别的。 我们直接枚举操作到第几次,每次计算一个类似前缀和的数组来更新答案,每次都累加答案即可,类似于前缀和优化DP.复杂度为 \(O(n\sqrt n)\) #include<iost

  • 2022.8.4 颓废记录2022-08-05 01:00:24

    Preface 太蒻了QAQ Content [CF76A]Gift \(N\) 个点,\(M\) 条边的无向图,第 \(i\) 条边有两个权值 \(g_i,s_i\),给定两数 \(G,S\)。 求一棵生成树 \(T\),使得 \(ans=G\times \max\limits_{i\in T}(g_i)+S\times \max\limits_{i\in T} (s_i)\) 最小,无解输出 \(-1\)。 \(1\le N \le 200

  • Solution for CEOI20222022-08-05 00:31:58

    \(\cal T_1\) Abracadabra Description 给定长度为 \(N\)(保证为偶数)的排列,每次操作将排列对半分,然后做归并。\(Q\) 次询问,求 \(t\) 次操作后的第 \(i\) 张牌。 \(N\leqslant 2\cdot 10^5,Q\leqslant 10^6,0\leqslant t\leqslant 10^9\). Solution 一些闲话:黑心糖赛高! 可以发现归

  • [ZJOI2010]排列计数2022-08-04 14:31:51

    题意 求满足 \(\displaystyle \forall i\in [2, n], p_i > p_{\lfloor i / 2\rfloor}\) 的 \(1\sim n\) 的排列 \(p_1, p_2\dots p_n\) 的数量,输出模 \(m\) 后的值。 思路 上述问题可以转化为求节点标号为 \(1\sim n\) 且满足小根堆性质的完全二叉树的数量。 设节点 \(u\) 的两个

  • P1821 [USACO07FEB] Cow Party S2022-08-04 08:00:31

    https://www.luogu.com.cn/problem/P1821图论,最短路黄色题 思路: 主要就是比模板多了一个反向建图 我们首先想到的是从每个点都求一遍到终点的最短路,这样会加大时间复杂度。 所以,我们可以反向建图,直接把单终点最短路转为单源最短路,只需要跑两次最短路算法,显然是稳过的。(可以自

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有