首页 > TAG信息列表 > nd

Luogu3354 河流 - 树形dp -

题目链接:https://www.luogu.com.cn/problem/P3354 题解: 考虑树形dp 设\(f[i][j][k]\)表示考虑到 i 点,j 是i的祖先中与i最近的伐木场,i及子树中共有 k 个伐木场的最小代价 我们发现,这样设状态无法表示 i 是否有伐木场这个条件,因此钦定 f[][][] 表示 i 没有伐木场,g[][][]表示有 转移

[Google] LeetCode 715 Range Module 线段树

A Range Module is a module that tracks ranges of numbers. Design a data structure to track the ranges represented as half-open intervals and query about them. A half-open interval [left, right) denotes all the real numbers x where left <= x < right.

P4513 小白逛公园

求动态区间最大子段和,并支持单点修改。 \(n\leq 5\times 10^5,m\leq10^5\)。 用线段树处理。对于每一个节点维护以下变量: \(ans\) 表示区间内最大子段和, \(sum\) 表示区间和, \(lmax\) 表示最大前缀和, \(rmax\) 表示最大后缀和,那么对于上传信息时进行以下操作: \[sum[p]=sum[lson]+

P1471 方差

给定数列,维护区间平均数和区间方差,并支持区间修改。\(n\leq10^5,m\leq10^5\)。 线段树维护平均数比较简单,重点在于如何维护方差。 具体公式参考了这篇题解,就不详细展开,推出来以后就变成简单的线段树维护问题。 #include<bits/stdc++.h> using namespace std; struct node{ doub

自己动手写RISC-V的C编译器-02语法描述方法和递归下降解析

本节增加对*、/、+、-、()运算的支持 使用生成规则表示运算符优先级 expr = mul("+" mul | "-" mul)* mul = num("*" num | "/" num)* 上面的表达式可以很容易的推导出对于对于运算1*2+3的语法树 由expr开始推导乘除法一定会在加减法的更下一层,所以很自然的得出乘法优先级大

gpio dts

一、gpio把写reg的一大堆变成简单的 /* 2、 获取设备树中的gpio属性,得到LED所使用的LED编号 */ gpioled.led_gpio = of_get_named_gpio(gpioled.nd, "led-gpio", 0); if(gpioled.led_gpio < 0) { printk("can't get led-gpio"); return -EINVAL;

题解[CF575E]Spectator_Riots

题意 一个球场,可以看作 \(10^5\times10^5\) 的矩形,每个位置都是一个整点。一个位置 \((x,y)\) 位于球场内当且仅当 \(x\in[0,10^5]\and y\in[0,10^5]\) 。 有 \(n\) 个可能捣乱的黑粉,第 \(i\) 个在位置 \((x_i,y_i)\) 上,速度为 \(v_i\),即一秒内可能跑到任意一个距原来位置曼哈顿距

python的多层包调用

在阅读tvm 前端代码时发现了诸如from ... import nd as _nd/from .. import analysis之类的代码,因长时间未接触python,感到格外好奇 参考:PEP 328 – Imports: Multi-Line and Absolute/Relative 官方文档中介绍了绝对导入(Absolute Imports) 与 相对导入( Relative Imports) 的内容

LOJ #3534. 「NOI2021」庆典

提交记录 题目叙述 给定一个 \(n\) 个点 \(m\) 条边的有向图,满足如果 \(x\) 到 \(w\) 右边,并且 \(y\) 到 \(w\) 也有边,那么就一定有边 \(x\) 到 \(y\) 或者 \(y\) 到 \(x\) 。每次给出 \(k\) 条边 \(a_i\rightarrow b_i\) 表示这次询问新加入的边(不一定这样做之后的图还满足原题的

莫队算法

普通莫队 对于询问奇偶分块 bool cmp(nd x,nd y) { int lb = x.x / bl,rb = y.x / bl; if (lb ^ rb) return x.x < y.x; // l,r同块以l排序 return lb & 1 ? (x.y > y.y) : (x.y < y.y); //不同则看l在什么块内 } bool cmp(nd x,nd y){return (x.l / bl) ^ (y.l / bl) ? (x.l <

CF Edu124 F 题解

Solution 记 \(X_k\) 为 \(\sum_{i=1}^kx_i\),即序列 \(x\) 的前缀和。 对于每座塔都有满魔力时,可以通过二分 \(C\) 来得到会推平哪个前缀。 对于每座塔在前一秒都没有魔力时,可以通过二分 \(R\) 来得到会推平哪个前缀。 对于每座塔在前 \(k\) 秒都没有魔力,且 \(r_ik\le c_i\) 时,可

CF Edu129 div2

edu129div2 A 最优策略是拿最大值。 // Problem: A. Game with Cards // From: Codeforces - Educational Codeforces Round 129 (Rated for Div. 2) // URL: https://codeforces.com/contest/1681/problem/A // Time: 2022-05-23 22:35 // Author: lingfunny #include <bits/std

BZOJ4919 大根堆(树形dp+线段树合并)

用 multiset 启发式合并贪心维护 LIS 的做法就不多说了,网上题解一大堆,着重讲一下线段树合并维护 \(dp\)。 \(O(n^2)\) 的 \(dp\) 非常显然。离散化后,设 \(dp[u][i]\) 表示节点 \(u\) 的子树中,最大值为 \(i\) 时最多取多少个节点。转移时考虑是否将节点 \(u\) 加入大根堆并分类讨论

ABC165E

感觉思路和洛谷现有题解不太一样,来发一篇题解。 题目描述 你将举行一场 \(\texttt{1 V 1}\) 竞技比赛 \(\texttt{Atcoder Janken}\)。 \(N\) 个初始编号为 \(1\sim N\) 选手将会参加比赛。你只有 \(M\) 个比赛场,所以你需要分派给每一个场地两个选手编号。当然,你不能分派一个选手编

PAT顶级 1003 Universal Travel Sites (35 分)(DP)

简单DP,设dp[i][j]表示前i个项目,截止到第j天所能获得的最大利润。注意必须先按照规则对输入进行排序才有可能找到最优的转移方案。同时数据范围没给,盲猜不会特别大,所以第二维取5000应该问题不大。细节见代码。 #include <bits/stdc++.h> #define gcd(a, b) __gcd(a, b) #define IN

Numpy用法详细总结:学习numpy如何使用,看这一篇文章就足够了

Numpy用法详细总结 一、创建ndarray及查看数据类型1. 使用np.array()由python list创建图片与array数组的关系2. 使用np的常用函数创建 二、ndarray的常用属性三、ndarray的基本操作1、索引2、切片拼图小游戏:把女孩放在老虎背上3、变形4、级联推广 5、切分6、副本 四、ndar

wget常用命令汇总

1 --limit-rate=10m 限制下载速度为10MBps # wget --limit-rate=10m http://192.168.206.2/20G 2 --delete-after 下载后删除文件 # wget --delete-after http://192.168.206.2/1G 3 --bind-address=ADDRESS 绑定来源地址下载,需要address在主机网卡上 #

Codeforces 1633 C. Kill the Monster —— 暴力

This way 题意: 你和一个怪物激情回合制对砍,每个人都有血量和攻击力。你现在有k个硬币,每个硬币都可以使你的血量增长a或者使你的攻击力增长w,问你合理搭配硬币是否能赢。 题解: 这…我们可以看到k的总和不超过2e5,那么我们只需要枚举多少个硬币给血量,剩下的给攻击力即可。 #in

问题 B: 二叉树

题目描述 如上所示,由正整数1,2,3……组成了一颗特殊二叉树。我们已知这个二叉树的最后一个结点是n。现在的问题是,结点m所在的子树中一共包括多少个结点。 比如,n = 12,m = 3那么上图中的结点13,14,15以及后面的结点都是不存在的,结点m所在子树中包括的结点有3,6,7,12,因此结点m的所在子

COMPFEST 13 - Finals Online Mirror (Unrated, ICPC Rules, Teams Preferred)(replay)

比赛链接: https://codeforces.com/contest/1575 A. Another Sorting Problem 题目大意: \(n\) 个长为 \(m\) 的字符串,对它们进行排序,比较奇数位时要实现递增,偶数位要递减。 思路: 直接 sort 就好了。 代码: #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 10; i

Java date日期类型,结束日期减去开始日期求两者时间差,精确到秒

/** * @Author: * @Description: * @Date: 2019/4/10 19:01 * @Modified By: */ @Slf4j public class DateUtils { private static final long nd = 1000 * 24 * 60 * 60; private static final long nh = 1000 * 60 * 60; private static final long nm =

图数据库 py2neo driver 使用笔记

1、Node py2neo.data – Graph data types — py2neo 2021.1 2、relationships py2neo.data – Graph data types — py2neo 2021.1 3、path py2neo.data – Graph data types — py2neo 2021.1         1、路径查询 根据起始节点与目标节点查询关系图       

%nd宽度规则

d格式:用来输出十进制整数。有以下几种用法: %d:按整型数据的实际长度输出。 %nd:n为指定的输出字段的宽度。如果数据的位数小于n,则左端补以空格,若大于n,则按实际位数输出。 %ld:输出长整型数据。  -----------------分 隔 符---------------- 总结: 1)符号位也算入n中; 2)超过n的按实际接

vfs open file flow #2

link_path_walk() do_filp_open()里将pathname保存到nameidata里,pathname是open file的完整路径名,调用path_openat,此时是flags是带了LOOKUP_RCU flag的 struct file *do_filp_open(int dfd, struct filename *pathname, const struct open_flags *op) { struct namei

记一次以小勃大,紧张刺激的渗透测试(2017年老文)

零、前言 有技术交流或渗透测试培训需求的朋友欢迎联系QQ/VX-547006660,需要代码审计、渗透测试、红蓝对抗网络安全相关业务可以看置顶博文 2000人网络安全交流群,欢迎大佬们来玩 群号820783253 一、起因 emmm,炎炎夏日到来,这么个桑拿天干什么好呢? 没错,一定要坐在家里,吹着空调,吃着西