tenzing 1842f tree and
Madoka and The Best University (cf E)( 枚举一个其中一个元素,欧拉函数,gcd)
#include<iostream> #include<cstring> using namespace std; const int Maxn=1e7; int phi[Maxn];//记录数的约数个数(欧拉函数) bool vis[Maxn];//记录数字是否访问 int prime[Maxn] ......
Madoka and The Corruption Scheme (CF D)(二叉树 整体考虑)
思路 : 题意 性质 : 要让某个人赢, 从上往下 右走了几次到他, 因此 就是 从 n轮中 选择 k 次往右走的 所有情况 ans 就是 tot- C(n,i) i>k 的选择次数, 把大的数往里面赛就行了. ......
Commands and Queries 在 Angular 应用开发中的使用场合
Commands and Queries 模式:优化前端状态管理的新范式 在现代前端开发中,管理应用程序的状态是一项至关重要的任务。在大多数应用程序中,前端状态来自于后端系统的数据,同时还需要执行各种与后端相关的操作。传统的状态管理方法如Redux虽然强大,但对于处理来自API的状态数据需要大量的样 ......
Codeforces 449E - Jzzhu and Squares
显然任意一个顶点是关键点的正方形都可以用两个量来刻画:以其任意一条边对应的直角边平行于坐标轴的直角三角形的两直角边的长度 \(i,j\)(在下文中记这样的正方形为正方形 \((i,j)\))。对于 \(i+j\) 相同的两种正方形,显然一个 \(n\times m\) 的点阵中这样的两正方形个数是相 ......
Codeforces 1874F - Jellyfish and OEIS
考虑对 \(\sum m_i-i+1\) 个不可行的集合进行容斥,即钦定一些区间集,要求它们对应的 \(p_l,p_{l+1},\cdots,p_r\) 必须是 \([l,r]\) 的排列,计算方案数乘以容斥系数之和。 如果容斥的集合中存在相交的区间,那么这个方案数其实不太好计算。不过根据区间的性质 ......
洛谷 Power Tree 题解
题目链接 Power Tree 分析 将叶子节点按dfs序重标号后,每次控制操作可以转化为将子树内叶子节点所在区间加(或减)一个数 不难可以想到将叶子区间进行差分 每次对 \(l\) 到 \(r\) 的操作可以转化为将 \(l\) 上的数转移到 \(r+1\) 上 每次操作后差分数组的和不变 将所有 ......
F. Sum and Product
F. Sum and Product 吐槽:太疯狂了,想使用unordered_map快一些结果超时了十几次!,反而用普通的map快速AC,查了发现unordered_map依赖于散列表,如果哈希函数映射的关键码出现的冲突过多,则最坏时间复杂度可以达到是O(n)。真的会有人卡umap(哭) 此题就是 ......
SQLite学习笔记——AND、OR运算符和UPDATE、DELETE语句
运算符 AND 运算符 带有 WHERE 字句的 AND 运算符语法如下 SELECT column1, column2, ... columnN FROM table_name WHERE [condtion1] AND [condition2] ... AND [conditionN]; 当满足 ......
HDU 5834 Magic boy Bi Luo with his excited tree
题意: 给出一棵\(n\)个节点的树,树上每一个节点都有一个权值\(v\),每条边都有一个代价\(w\),从一个点出发,经过一个点可以得到等同于其点权的收益,经过一个点可以得到等同于其点权的收益,经过一条边可以得到等同于其权值的代价,点权只会获得一次,但是代价会花费多次。 对于每个点,询问从这个点出 ......
什么是 Angular Tree Shaking 优化机制
Tree Shaking(树摇)是一种在现代 JavaScript 开发中广泛使用的优化技术,它的目标是消除未使用的代码,以减小应用程序的文件体积。Tree Shaking 的概念和实现是在 JavaScript 生态系统中非常重要的一部分,尤其是在构建工具如Webpack和Rollup中。 Tre ......
CF780G Andryusha and Nervous Barriers 题解
来个不一样的做法:扫描线,线段树上二分。 思路 我们发现只需找到小球落到每个挡板后的下一个挡板,就可以建出一张 DAG,在 DAG 上简单 DP 即可求方案。 所以我们考虑怎么建图。 大多人用扫描线是从下到上扫描的,但我们考虑从左到右扫描。 我们在挡板左端做加入操作,右端做删除操作,对于扫描中每一个 ......
10 Rules of Good and Bad Studying 学习的10条好与坏规则
10 Rules of Good Studying 良好学习的10条法则 Use recall. After you read a page, look away and recall the main ideas. Highlight very little, and never highligh ......
Java 21 新特性:Unnamed Patterns and Variables
Java 21中除了推出JEP 445:Unnamed Classes and Instance Main Methods之外,还有另外一个预览功能:未命名模式和变量(Unnamed Patterns and Variables)。该新特性的目的是提高代码的可读性和可维护性。 下面通过一个例子来理解 ......
P2951 [USACO09OPEN] Hide and Seek S 题解
Problem 题目概述 给你一个无向图,边权都为 \(1\) ,求:离 \(1\) 号点最远的点的编号、最远的距离、有几个点是离 \(1\) 号点最远的。 思路 直接用:优先队列 \(BFS\),先求出 \(1\) 号点到每个点的最短路,存到 \(dis\) 数组中,然后再求 \(max(dis[ ......
防止react-re-render: Why Suspense and how ?
近期内部项目基础项目依赖升级,之前使用的路由缓存不再适用,需要一个适配方案。而在此过程中react re-render算是困扰了笔者很久。后来通过多方资料查找使用了freeze解决了此问题。本文主要论述react re-render问题一般的解决方案和freeze在react内部的实现原理。reac ......
CF1874C Jellyfish and EVA 题解
题意 给定一个有向无环图,对于任意一条边 \((u_i, v_i)\),有 \(u_i < v_i\)。 定义一次从节点 \(u\) 开始的移动为如下过程: \(\tt{Alice}\) 选择从 \(u\) 出发的且未被删除的一条边。 \(\tt{Bob}\) 在从 \(u\) 出发的且未被删除的边 ......
Java 21 新特性:Unnamed Classes and Instance Main Methods
Java 21引入了两个语言核心功能: 未命名的Java类你说 新的启动协议:该协议允许更简单地运行Java类,并且无需太多样板 下面一起来看个例子。通常,我们初学Java的时候,都会写类似下面这样的 Hello World 程序: public class HelloWorld { public ......
CodeForces 1874B Jellyfish and Math
洛谷传送门 CF 传送门 看到这种操作乱七八糟不能直接算的题,可以考虑最短路。 对于 \(a, b, c, d, m\) 按位考虑,发现相同的 \((a, b, m)\) 无论如何操作必然还是相同的。 于是考虑对于每个可能的 \((0/1, 0/1, 0/1)\),所有终态有 \((c = 0/1, ......
Jellyfish and Mex
2023-10-01 题目 Jellyfish and Mex 难度&重要性(1~10):5 题目来源 luogu 题目算法 dp 解题思路 这道题一眼 dp。 我们需要考虑的是对于函数 \(\operatorname{mex}\) 的性质,假设当前 \(a\) 数组存在 \(0\sim x\),则 ......
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType' [duplicate]
str | None syntax is only supported in 3.10 or later. Use from typing import Optional name: Optional[str] = None For cases where the right hand side i ......
CF1873F Money Trees
思路 要求最长长度,想到可以二分答案。 那么现在需要考虑如何快速验证答案是否正确。 可以 \(O(n)\) 枚举区间左端点,因为有了长度,所以可以直接获得右端点的值,直接验证右端点是否合法。 因为要求区间的每个数都是右边的数的倍数,所以可以提前预处理每个点最远的满足这个条件的右端点,直接判断合不合法 ......
CF1875B Jellyfish and Game
思路 题意大概是两人都有一组数,奇数轮,第一个人可以选择和第二个人交换一个数字也可以不换,偶数轮,第二个人可以选择和第一个人交换一个数字也可以不换。 首先可以猜测,我们每次都应该选择交换对方的最大值和自己的最小值,如果自己的最小值都比对方大的话就不交换。应该比较好想,这里感性证明一下。 如果用的不是 ......
CF1875D Jellyfish and Mex
思路 看到 \(n\) 的范围只有 \(5000\),并且 \(\sum n\) 的范围也是 \(5000\),所以可以考虑 \(n^2\) 的做法。 每次操作肯定都是一次性删完某个数字,如果删除某个数字删一半又去删别的数字,答案肯定会变大。 所以我们可以考虑统计所有数字的数量,记为 \(num_i ......
CF1875C Jellyfish and Green Apple
思路 首先我们可以考虑把能分的都先分了,再选择去切剩下的苹果。 那么我们只需要考虑苹果数量少于人数的情况,每个人能分的苹果都必然少于目前的单个苹果,所以每个苹果都必须切一刀,那么答案数就会增加当前的数量,再把能分的都分了,重复这一过程,直到分完为止。这样去切一定是最优的。 那么,什么时候无解呢? 因 ......
题解 CF1875D【Jellyfish and Mex】
显然,除非 \(\operatorname{mex}a=0\),否则不会删除 \(>\operatorname{mex}a\) 的数。而 \(\operatorname{mex}a=0\) 时不对答案产生贡献,因此任意时刻我们都可以忽略 \(a\) 中 \(>\operatorname{mex}a\ ......
mlpack is an intuitive, fast, and flexible header-only C++ machine learning library
https://github.com/mlpack/mlpack README.md a fast, header-only machine learning library Home | Documentation | Community | Help | IRC Chat Download: c ......
[题解] CF1003E - Tree Constructing
CF1003E - Tree Constructing 题目传送门 知识点:贪心 题意 给定 \(n\) 个顶点,问是否能够构造出一棵直径为 \(d\) 的树,且每个顶点的度数最多为 \(k\) 。 思路 我们要构造出一棵树,使得其直径长度一定为 \(d\) ,那么我们可以先选择 \(d + 1\) ......
创建一个二叉排序树(Binary Search Tree)
一、二叉排序树的定义 左子树所有结点的值均小于根结点的值 右子树所有结点的值均大于根节点的值 左子树和右子树也是二叉排序树 1.二叉排序树的结点结构 typedef struct BSTNode { /*二叉排序树的结点结构*/ int value; struct BSTNode *left; st ......
CF441E Valera and Number
题目链接 这道题一个朴素的思路就是:维护 \(f_{i,j}\) 表示第 \(i\) 轮后 \(x=j\) 的方案数。时间复杂度 \(O(k\times 2^k)\)。显然过不了。 我们尝试寻找一个能抛开 \(x\) 的值域的做法。不妨重新设 \(f_{i,j}\) 表示第 \(i\) 轮结束时的 ......
G. wxhtzdy ORO Tree
G. wxhtzdy ORO Tree 前提知识:lca求最近公共祖先(倍增) 因为或运算越多值就越大,好像跟上一个相反,所以满足单调不降 要点1:利用数组来对每个点到其祖先节点的或和进行计算(倍增) 要点2:分别对左右两边进行分析到lca点,这样确保无误 要点3:因为满足单调不降,所以遇到大于的节 ......