iOS
404 没有上司的舞会2
作 者: itdef 欢迎转帖 请保持文本完整并注明出处 技术博客 http://www.cnblogs.com/itdef/ B站算法视频题解 https://space.bilibili.com/18508846 qq 151435887 gitee https://gitee.com/def/ 欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程
Rebuild Tree
考虑(prod s[i])的组合意义:就是在每个连通块内选一个点的方案数 应用链式前向星存图时,应当舍弃“0-1”变换,从2号边开始编号【对于其他情况,也应尽量避免从0开始编号】 枚举子树大小DP是O(n^2)的,但如果有m的限制,可以证明时间复杂度降至O(nm) 因为出点和入点未必相同,所以不能简单地把连通块大小相乘;但相信最后的结果是美的,可以大胆猜想把m+1换成n 加法式枚举的好处在于,保
ABC374E 题解
好题。爱做。 标签:二分。 求最大的最小值,考虑二分答案。然后问题就转化成了(求 (n) 次):有两种物品,每种物品有一个代价和价值,求获得不少于给定价值所需的最小代价。 下文记物品的代价为 (w),价值为 (v),所拿的数量为 (cnt)。 假设有两种物品 (S) 与 (T),(S) 物品的性价比(价值 / 代价)比 (T) 高,那么有一种较优的拿法是全拿 (S)。但手玩一下发现,这不一定是
c++ 键盘/鼠标交互
c++ 键盘/鼠标交互 鼠标操作 点击 加上如下宏定义 如果获取左键的点击,可以使用如下的代码:KEY_DOWN(MOUSE_MOVED) 如果获取滚轮的点击,可以使用如下的代码:KEY_DOWN(MOUSE_WHEELED) 如果获取右键的点击,可以使用如下的代码:KEY_DOWN(MOUSE_EVENT) system 示例 输入输出 函数 示例
树上深度和问题 - 换根DP
问题引出: 给出 (n) 个点的树,求出分别以不同的 (i) 为根时,所有结点深度的和,根节点的深度为 (0)。 首先我们有个自然的暴力思路, 也就是以每个节点为根节点做一遍 (dfs) 这样的复杂度是 (O(n^2)) 级别的, 所以要进行优化 看下图: 我们首先假设每个节点具有点权, 明显这里的点权是 (1), 接着给出以下定义: 定义 (c_i) 为点权, 这里为 (1) 定义 (ALL
洛谷 P3523 题解
洛谷 P3523 [POI2011] DYN-Dynamite 分析 二分答案,问题转化为:对于给定的 (K),选择尽可能少的节点,使得所有关键节点都被「覆盖」。 对于一个关键节点,「覆盖」的定义为:存在一个被选择的点与这个关键节点的距离不大于 (K)。 方便起见,我们指定 (1) 号节点是这棵树的根节点。 我们使用树形 DP 的思路,自底而上、无后效性地求解。换句话说,显然地,当我们考虑一个节点
算法 跑步问题 -- 暴力法
目录跑步问题 - 暴力法题目分析规律代码实现1. 初步框架2. dfs3. 补全 跑步问题 - 暴力法 题目 某人准备跑20圈来锻炼自己的身体,他准备分多次(>1)跑完,每次都跑正整数圈,然后休息下再继续跑。 为了有效地提高自己的体能,他决定每次跑的圈数都必须比上次跑的多, 设第一次圈数不能小于0,那么请问他可以有多少种跑完这 20 圈的方案? 输出方案总数,以及每种方案的排序。(比如1,1
ChatBot: 通过高性能LLM批量产生Character
基于LLM创建Character, 能够实现ChatBot社区的AGI吗? 如果高性能的LLM能够产生中高质量的提示词并且被低性能但廉价的LLM使用, 那么就有了很大的使用价值. 怎么定义一个Character 我认为至少需要以下几个内容: Name: The name can include first and last names.(3-40 characters) Gender: Must
安卓-Unity-游戏开发入门手册-全-
安卓 Unity 游戏开发入门手册(全) 原文:Beginning Unity Android Game Development 协议:CC BY-NC-SA 4.0 一、编程概念 编程就是解决一个问题并为其定义一个解决方案。每一个细节都是精心制作的,试图将解决方案传达给计算机。对于一些,特定的指令被给予计算机系统,以执行导致期望的解决方案的任务。 幸运的是,有高级编程语言来帮助我们用更接近英
轻松学安卓平板-全-
轻松学安卓平板(全) 原文:Android Tablets Made Simple 协议:CC BY-NC-SA 4.0 一、什么是 Android:选择合适的平板电脑 Android 跟随 iPhone 进入市场,但它的受欢迎程度却大幅上升。几乎每个手机制造商都在手机上安装了安卓系统,美国每个主要的无线公司都有安卓系统,再加上大部分地区。它灵活、有趣,拥有数以千计的应用程序。谷歌免费发布操作
最大程度利用你的安卓平板-全-
最大程度利用你的安卓平板(全) 原文:Taking Your Android Tablets to the Max 协议:CC BY-NC-SA 4.0 零、简介 悄无声息,毫无征兆,Android 操作系统已经迅速主导了移动生态系统。该操作系统以多种形式存在于许多设备中,并提供了丰富的强大功能,可以完全改变您一天中完成任务的方式。如果你正在寻找一台平板电脑或者已经购买了一台平板电脑,这本书将
十款好用的输入法软件推荐
书接上回,在提高我们的打字速度、优化打字体验之前,得先挑一款合适的输入法。 本文就来简单介绍一些好用的、高颜值的输入法。 搜狗输入法 官网:shurufa.sogou.com 搜狗输入法可以说是老牌输入法了,起步很早。从使用率来说,搜狗已经稳坐第一好多年了,说是王者也不为过。 特点: 输入方式:全拼、简拼、五笔(需下载搜狗五笔输入法)、语音输入、手写输入、OCR 支持的平台:Wind
CF 1805 D. A Wide, Wide Graph (*1800) 思维 + 树的直径
CF 1805 D. A Wide, Wide Graph (*1800) 思维 + 树的直径 题目链接 题意: 思路: 若当前点到最远的点的距离 (< k) , 说明 (x) 自己成为一个联通块。 并且我们知道距离任意一点最远的点一定是树直径的一个端点。 反之,则与直径端点在同一个联通块。 所以一个点要么独立成为联通块,要么和直径端点在一个联通块。 (dfs) 求出直径两个端点,并且维护
Living-Dream 系列笔记 第80期(国庆集训合集)
IDDFS 使用场景: 搜索树非常大而答案的深度较浅,一般在 (20) 以内,且 dfs 会 TLE,bfs 会 MLE。 算法原理: 以 dfs 的形式搜索; 设定搜索的深度限制 (dep); dfs 深度不能超过 (dep),且要恰好遍历所有 (dep) 的状态; 若在 (dep) 层没有找到答案,(dep+1 to dep),重新 DFS。 剪枝: 最优性剪枝:考
[AGC017C] Snuke and Spells
题意 给定 (n) 个球,每个球上有一个数字 (a_i)。 每当魔法少女施展魔法时,会将写着当前球的数量的球全部消除。 (q) 次修改球的值,你需要在基础上修改最小的次数使得这 (n) 个球可以被魔法少女消除,求出你修改的最小次数。 (n le 2 times 10 ^ 5)。 Sol 神题! 由于修改至多一个球,因此答案至多变化 (1)。 没用。 考虑按照 (a_i) 的大小排序,将每类球
CF1648F Two Avenues 题解
非常好题目,使我代码旋转。 思路 考虑什么样的边有贡献。 我们首先提出原图的一个 dfs 树。 处理出经过关键点的树上路径在每一条树边的经过次数 (v_i)。 我们选点会有以下几种情况。 选两条割边 (i,j),由于割边肯定是树边,所以答案就是 (v_i+v_j)。 选一条只被一条非树边覆盖的树边 (i),如果一个树边只被一条非树边覆盖,那么我们把这两条边删掉,则树边连接的两部分就会断开,所以答
「杂题乱刷2」CF1372D
题目链接 CF1372D Omkar and Circle(*2100) 解题思路 发现问题等价于在环上砍一刀形成一个序列然后取其中不相邻的数字使得和最大。 如果这是一个序列,我们只需要取奇数位上的数字和和偶数位上的数字和的最大值即可。 我们发现你砍掉一刀等价于把后缀拿到最前面来。 于是我们可以直接前后缀和维护一下然后枚举断点即可。 时间复杂度 (O(n))。 参考代码 点击查看代码
[赛记] 冲刺CSP联训模拟2
三道计数 + 一道数据结构也是没谁了 这场可是好好锻炼了我的写暴搜能力。。。 挤压 20pts 暴搜20pts; 把最后的答案进行二进制拆解,即 $ ans = 2^i + 2^j + 2^k + ... $,那么答案的平方为 $ sum_{i = 0}^{30} sum_{j = 0}^{30} s_i s_j 2^{i + j} $,其中 $ s_i, s_j $ 代表答案二进制拆解后这一
【软考】4 存储系统
1、层次化存储体系 存储硬件: 注意,Cache位于CPU和主存之间,不属于主存部分 存储分类方式: 例题: 1、CPU访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。若一一个存储单元已被访问,则其邻近的存储单元有可能还要被访问,该特性被称为(A)。A、数据局部性B、指令局部性C、空间局部性D、时间局部性 2、虚拟存储体系由(A )两级存储
Sample Game
期望DP做法: 建立正确的OI直觉:(x^2)的期望可以通过(x)的期望递推得出,({(x+1)}^{2}=x^2+2x+1) 推式子的时候可以省去括号 生成函数做法: 注意到取出的数一定是单调不减的(除了最后一个数),为了让数列变美观,我们考虑怎样拿掉最后一个数。直接拿掉是不美的,我们考虑前缀和转化:(P(len>i)x^i),于是数列的每一项可以通过生成函数自动生成 我们的目标就是:(
2024牛客多校第一场 - I. Mirror Maze
题目大意:一个由四种镜面(| - / )组成的矩阵,根据镜面的方向反射光线。问坐标 ((x,y)) 处向某方向射入一束光线后(此光线会直接穿过此位置 ((x,y)) 的镜面),一共会反射(直接穿过的不算)到多少个不同(一个坐标算一个镜面)的镜面。 总体思路为预处理出每一个坐标向每一个位置发射光线的答案。 处理“不同”的镜面可以直接用 set 记录坐标并去重,最后求 size。 由于光路可逆,所以
南沙C++信奥赛陈老师解一本通题: 1828:【02NOIP提高组】均分纸牌
【题目描述】 有n堆纸牌,编号分别为 1,2,…,n。每堆上有若干张,但纸牌总数必为nn的倍数。可以在任一堆上取若干张纸牌,然后移动。 移牌规则为:在编号为1的堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 n 的堆上取的纸牌,只能移到编号为n−1的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。 现在要求找出一种移动方
10 月 4 日 S 组 风 雨 大 作
智障行为+2 T1 T2 T3 T4 0 0 0 0 好吧至少下一次不会考更低了 T1 你有个 n 个点 m 条边的无向图,每条边都有红蓝两种颜色中的一种,保证红色的边形成了这个图的一个生成树。 你希望给这些边赋上边权,保证边权是 1 ∼ m 的排列,使得红色的边是最小生成树。 希望这些边权形成的序列字典序最小,也就是先比较第一条边的边权,再比较第二条边的边权,依次类推。 对于
[ABC292G] Count Strictly Increasing Sequences
题意 给定 (n) 个由 (m) 个字符组成的字符串,你需要将里面所有 (?) 替换为 ([0, 9]),并使得字符串的字典序单调递增。 (n, m le 40)。 Sol 相邻限制,想到区间 dp。 由于显然对于同一位 (i),([l, r]) 在第 (i) 为上的数字一定是一段 (0),然后一段 (1),然后一段 (2),...,然后一段 (9),考虑枚举 (k in [l, r]),钦定 (