ICode9

精准搜索请尝试: 精确搜索
  • [CF1670E]Hemose on the Tree 题解2022-07-11 13:35:48

    传送门QAQ Preface 还是不会构造题啊>_< 发现性质的能力还是弱了点。 Analysis 直接说这题的结论:异或和的最小最大值为 \(n\)。 很简单,只要存在一个点和它连出去的边,两个的权值一个 \(\ge n\),一个 \(\lt n\),由于 \(n = 2^p\),珂以推出两者的异或和 \(\ge n\)。 而这样的一个点显然

  • CF1286E Fedya the Potter Strikes Back2022-07-08 16:31:18

    LG CF286E CF286E 考虑增量,每次从上一个字符跳 \(nxt\) 直到符合条件 用一个单调递增的单调栈维护答案集合的权值,将不合法的答案权值弹出后还要将所有的答案和 \(w_i\) 取 \(\min\) ,这个可以考虑将所有一样的权值暴力合并,总的复杂度是 \(O(n\log n)\)

  • 图论练习2022-07-06 11:41:53

    目录CF888G Xor-MST CF888G Xor-MST 题意: 给定 \(n\) 个结点的无向完全图。每个点有一个点权为 \(a_i\)。连接 \(i\) 号结点和 \(j\) 号结点的边的边权为 \(a_i\oplus a_j\)。 求这个图的 最小生成树 的权值。 \(1\le n\le 2\times 10^5\),\(0\le a_i< 2^{30}\)。 思路: 看到异或,

  • LGP4365口胡2022-07-06 08:33:13

    上来先留个心眼看看模数是不是质数 是质数啊那没事了 注意到值域和节点数量都相当小。这引导我们去枚举某个节点或某个值。 我们枚举潜入的城市 \(u\),找出 \(d_v\) 比 \(d_u\) 大的所有 \(v\)。 可以知道我们要选的一定是一个连通块,这个连通块中只能恰好包括 \(k-1\) 个 \(v\)。

  • dp 多维状态的分步优化2022-07-05 19:00:58

    面对一个多维 \(\text{dp}\) 问题,根据维度之间联系的紧密程度,我们可以选择 维度之间紧密相关,只能直接枚举 维度之间完全无关,只是贡献通过某种形式相加,可以割裂为两个dp处理 介于 \(1,2\) 之间,不能割裂计算,但是可以将转移过程割裂为若干步来优化 e.g.1: 选区间1 问题描述

  • 题解0015:【模板】最小生成树2022-07-03 11:31:56

    题目链接:https://www.luogu.com.cn/problem/P3366 题目描述:给出一个无向图,求出最小生成树,如果该图不连通,则输出 orz。 做这道题我们可以用两种算法: 1.普里姆算法 先找到一个点,遍历这个点的所有临边,找到最小权值的边并合并为一个集合,不断循环下去。 2.克鲁斯卡尔算法 将所有边按权

  • 洛谷P8127 [BalticOI 2021 Day2] The Xana coup 题解 树形DP2022-06-27 15:34:34

    题目链接:https://www.luogu.com.cn/problem/P8127 题目大意:给定一棵包含 \(n\) 个节点的树,树上每个点都有一个权值,节点 \(i\) 的权值为 \(a_i(a_i \in \{0,1\})\)。每次可以选择树上一个点,将这个点以及与其相邻的所有点的权值取反(\(0\) 变成 \(1\),\(1\) 变成 \(0\))。问:最少需要几

  • HDU4734 F(x) (数位DP)2022-06-24 22:00:58

    (如此简短的题目给人一种莫名的压迫感......) 题目中定义一个数的权值求解函数:F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1. 观察可知:权值的表达式与数的位数相关,再加上要分离每个位上的数字,那么就不难想到数位DP了。 dp[pos][j]表示pos位下小等于j的元素个数,代

  • 题解-SDOI/SXOI2022 子串统计2022-06-22 21:31:53

    题出的好!难度不适中,覆盖知识点广,题目又着切合实际的背景,解法比较自然。 给出题人点赞 ! 感觉做这题做得挺开心的。 题意 给定长度为 \(n\) 的字符串 \(s\)。你有一个字符串 \(t = s\),你每次操作可以在前面或在后面删除一个字符,直到字符串中只有一个字符。设每次操作后得到的字符串

  • 树套树2022-06-12 14:32:46

    树状数组套动态开点权值线段树 每个位置开一个线段树,可以得到问题的答案,但是时空复杂度不对。——这种情况用BIT套动态开点权值线段树解决。 Dynamic Rankings 路灯 动态逆序对

  • CF DS题做题笔记(持续更新)2022-06-12 10:34:42

    CF DS题做题笔记(持续更新) 题目来源:Codeforces 的 problemset内,difficulty 2300-2600,并包含“data structures”的 tag。 1681F 题意:给定一棵树,边有边权 \(w_i\),定义 \(f(u,v)\) 为,\(u,v\) 路径上只出现一次的权值个数,求 \(\sum_{1\le u < v \le n} f(u,v)\),\(1 \le n,w_i \le 5 \t

  • 软件构造 Lab 22022-06-10 01:33:39

    2022年春季学期 计算学部《软件构造》课程 Lab 2实验报告 姓名 赵伟东 学号 120L05**** 班号 2003**** 电子邮件 986579251@qq.com 手机号码 166******** 目录 1 实验目标概述··· 1 2 实验环境配置··· 1 3 实验过程··· 1 3.1 Poetic Walks· 1 3.1.1 Ge

  • 【C# 数据结构与算法】 最小生成树2022-06-09 16:35:52

     概览    概念 最小生成树是一副连通加权无向图中一棵权值最小的生成树。   在一给定的无向图 G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即 ( u , v ) ∈ E {\displaystyle (u,v)\in E} ),而 w(u, v) 代表此边的权重,若存在 T 为 E 的子集(即 T ⊆ E {\displaystyle

  • 面向对象第三单元博客2022-06-06 14:00:07

    面向对象第三单元博客 第三单元为 JML规格的理解与实现,大部分方法都可以由JML规格理解后直接翻译成对应代码。 架构设计 对于isCircle以及queryBlockSum的设计 对于这两个方法的实现,我采用了并查集的方式解决,首先是在addPerson时初始化节点的父节点并将其设为根节点,父节点的对应

  • 哈夫曼树以及哈夫曼编码2022-06-04 20:32:17

    一、问题描述 构造一颗包含\(n\)个叶子节点的\(k\)叉树,其中第\(i\)个叶子节点带有权值\(w_i\),要求最小化\(\sum w_i*l_i\),其中\(l_i\)表示第\(i\)个叶子节点到根节点的距离。 二、算法描述 运用贪心的思想,权值大的叶子结点的深度一定要小。 先考虑\(k=2\)的情况,我们不难想出一种贪

  • 软件项目管理 6.3.用例点估算法2022-06-03 10:01:18

    【公众号 “项目管理研究所” 将会第一时间更新文章并[分享行业分析报告]】 归档于软件项目管理初级学习路线 第六章 软件项目成本计划 《初级学习路线合集 》 前言 大家好,这节我们学习软件项目管理---用例点估算法。用例点估算是基于需求用户视图的估算方法,通过需求用户视图

  • 树中节点和2022-05-29 14:03:34

    树中节点和 给定一棵 $n$ 个节点组成的树。 树中节点编号为 $1 \sim n$。 $1$ 号节点为树的根节点。 树中的每个节点 $v$ 都具有一个非负整数权值 $a_{v}$。 我们用 $s_{v}$ 来表示从节点 $v$ 到根节点的路径上经过的所有节点(包括两端节点)的权值之和;用 $h_{v}$ 来表示从节点 $v$

  • 【Coel.解题报告】【权值线段树初探】三元上升子序列2022-05-28 22:00:52

    题前闲话 第一次写绿题解题报告,多少有点膈应quq 反正这个也是主席树和树套树的前置操作,就当是水博客了! 反正整个五月也没写几个博客 题目简介 洛谷传送门 最近洛谷出了个一键复制 markdown 的功能,这下方便多了! 题目描述 Erwin 最近对一种叫 thair 的东西巨感兴趣。。。 在含有 \(n

  • 动态规划笔记2022-05-25 09:04:16

    基础 换根DP 先考虑以 1 为根做一次 dfs,自底向下,儿子节点信息更新父亲 v -> u 再以 1 为根做一次dfs,在递归前通过父节点信息更新儿子节点信息 u -> v 考虑换根过程,根从 1 换到其他点特殊考虑,其他点互相换根时,设儿子为 x ,根为 y 当要换根到 x 时,先减去 x 在 y 中的贡献,然后重新计

  • 磊磊零基础打卡算法:day17 c++堆排序2022-05-21 00:02:49

    5.20 前言吐槽: 今天是5.20啦,但是作为单身修狗的我只能和代码过啦。。。继续加油算法打卡!!! 堆排序: 堆就是一棵完全二叉树 二叉堆是一种支持插入,删除,查询最值的数据结构。他其实是一棵满足"堆性质"的完全二叉树,树上的每个节点带有一个权值。若树中的任意一个节点的权值都小于

  • LC315(权值线段树+离散化)2022-05-18 00:02:41

    315 给你一个整数数组 \(nums\) ,按要求返回一个新数组 \(counts\)​ 。数组\(counts\) 有该性质:\(counts[i]\) 的值是 \(nums[i]\) 右侧小于 \(nums[i]\) 的元素的数量。 输入:\(nums = [5,2,6,1]\) 输出:\([2,1,1,0]\) 解释: \(5\) 的右侧有 \(2\) 个更小的元素 \((2 和 1)\) \(2\)

  • [CF538E] Demiurges Play Again 题解2022-05-16 20:00:32

    你谷 link CF link 首先将题目转化分别由自己和对面两个人布置叶子权值,求最大的叶子的权值,方便之后的解决。 考虑本题的计算是从叶子向上的,所以应该是自下而上的树形 dp,考虑设 \(dp_{x,0/1}\) 表示以 \(x\) 为根的子树,先手是不是想大的人,最大能走到的子树内的叶子是子树内第几大的

  • 线段树合并 & 权值线段树 & 一些题目2022-05-13 09:34:04

    https://www.luogu.com.cn/blog/styx-ferryman/xian-duan-shu-ge-bing-zong-ru-men-dao-fang-qi?tdsourcetag=s_pcqq_aiomsg %%% 权值线段树的一些操作 int getrank(int x){ return query_num(root,1,maxdata,1,x)+1; } int getpre(int x){//查询前驱 int tmp=query_num(r

  • Solution Set -「OurOJ Contest #2587」浅写2022-05-12 23:00:49

    \(\mathscr A\sim\)「OurOJ #47030」_   Link & Submission & Tags:「A.DP-计数 DP」「A.数学-Stirling 数/反演」「B.Tricks」   我们习惯于用组合数拆形如 \(l^k\) 的贡献,可惜 \(\mathcal O(nk^2)\) 的复杂度不被允许。我们需要找到更优秀的贡献拆分方法。   关于幂,可以想

  • 洛谷 P6822 - [PA2012]Tax(点转边+最短路)2022-05-06 11:04:59

    洛谷题面传送门 套路题一道。 首先直接抛出建图方式: 边化点,点转边。将每一条无向边 \(e=(u,v,w)\) 拆成一正一反两条有向边 \(e_1,e_2\),然后在 \(e_1,e_2\) 之间连权值为 \(w\) 的边。 对于每个点,将所有与其相连的边按权值从小到大排序,然后对于权值相邻的两条边 \((e_1,w_1),(

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

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

ICode9版权所有