首页 > TAG信息列表 > PRE

9.15-CSP-S开小灶4

T1 山洞 比较简单但是我脑子抽了绕了半天弯。 朴素dp是很好写的 $ dp[i][j]= dp[i-1][j-i]+dp[i-1][j+i] ,(j-i \neq j+i)$ 考虑优化,我们可以先暴力推出前n步(当然最大可以推到10000步好像也没问题),然后我们一次走n步,这样会一共走m/n次,然后剩下m%n次仍然暴力推就行。中间一次走n

「REMAKE系列」线性dp篇

常见模型、技巧总结 LIS、LCS模型 LIS 结论题 \(I\) [HAOI2006]数字序列 习题 洛谷——「能力综合提升题单-线性DP篇」 P2501 [HAOI2006]数字序列 省选/NOI- LIS、结论 现在我们有一个长度为 \(n\) 的整数序列 \(a\)。但是它太不好看了,于是我们希望把它变成一个单调严格上升的

701.insert-into-a-binary-search-tree 二叉搜索树中的插入操作

没啥好说的,但是要注意连续两个if和if... else if之间的区别。 class Solution { public: TreeNode *insertIntoBST(TreeNode *root, int val) { if (root == nullptr) { TreeNode *res = new TreeNode(val); return res; }

CodeCraft-22 and Codeforces Round #795 D

D. Max GEQ Sum 我们考虑暴力枚举a[i]为最大值 通过单调栈可以求出a[i]左边右边第一个大于a[i]的 然后通过ST表查询前缀和数组(i,R[i]-1)的最大值 (L[i]+1,i)的最小值得到我们需要的区间和最大值 check即可 注意我们这里因为是前缀和 query_max(i, R[i] - 1) - query_min(L[i], i - 1)

支持双端插入的可撤销回文自动机

支持双端插入的可撤销回文自动机 打多校看到的科技,板子++ 参考来源:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=53195473 template <class T, int SIZE, T offset> struct Depam { struct Node { int len, pos, fail; int nxt[SI

98.validate-binary-search-tree 验证二叉搜索树

二叉搜索树定义: 节点左子树只包含小于当前节点的数; 节点右子树只包含大于当前节点的数; 所有左子树和右子树自身必须也是二叉搜索树。 实际上,若中序遍历二叉搜索树,所得序列是单调递增的,利用这一性质来判断是否是二叉搜索树。 递归法 创建一个指针pre,指向中序遍历过程中的当前节点

P4587 神秘数 Sol

主席树好题。 本质上是对于前缀的理解与转化。 同题见牛牛的凑数游戏。 实际上那场比赛 T2 和 T3 都是前缀相关的题目。 这题是 T3,看到很容易想到二进制拆分。 稍微推广一下可以发现,对于从小到大的一系列数 \(a_1,a_2,...,a_n\),处理前缀和 \(pre_1,pre_2,...,pre_n\);如果存在一个

CF633H Fibonacci-ish II

传送门 思路 考虑使用莫队 当加入一个数时,如果不是第一次加入,就不用管它; 否则,我们在权值线段树上记录它的贡献 为了方便修改,线段树上需要记录的是:它的排名减一的斐波那契数与它的乘积,以及它的排名的斐波那契数与它的乘积,记为 \(pre,sum\) 假如我们加入一个数 \(x\),那我们需要统计

选择客栈

P1311 [NOIP2011 提高组] 选择客栈 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 核心:遍历每个客栈,认为这个客栈是客栈对中后一个,现在需要找到它前面有多少个满足条件的,不断更新当前最新的小于等于预算的客栈对应的位置,同时更新那个位置之前所有颜色对应的一个计数器nums,累加时

206 反转链表

题目206 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 双指针思路: 定义指针cur指向head,定义指针pre,定义为None,作为链表的最后节点的指向

NowCoder BM1 反转链表

描述 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 NowCoder BM1 反转链表 import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val =

SP1557 GSS2 - Can you answer these queries II

SP1557 GSS2 - Can you answer these queries II 题目大意 给出 \(n\) 个数,\(q\) 次询问,求最大子段和,相同的数只算一次。 分析 看到一个区间内相同的数只能算一次,经验告诉我们要考虑离线。 我们将区间按照右端点排序,用pre[i]来表示i上次出现的位置。 接下来,我们来考虑线段树需要维

Pre-work

1、功能分析 主页面 广场(展示若干条语音测评——可以是测评数量最多或最少的若干条) 可以进入每条语音测评详情页(各个评测项的平均分等) 用户层 用户登录/注册/退出登录 对每条记录进行评分/评论 查看所有自己参与评分的记录 用户个人中心/修改密码 管理员 管理员后台 管理员查

Educational Codeforces Round 134 (Rated for Div. 2)

Educational Codeforces Round 134 (Rated for Div. 2) D. Maximum AND 题目大意 给出序列a,b,b可以任意排列,序列c有\(c_i=a_i\bigoplus b_i\)。c序列的价值为c1&c2&c33...&cn 分析 不难想到,从高到底考虑,每一个\(a_i\)与\(b_i\)对应二进制位。假设考虑的是其中bit位,则需要所有的\(a

2022 HDU多校4

Link with Bracket Sequence II(区间 DP) Problem 有一个长度为\(n\)的括号序列,括号种类有\(m\)种,现在这个括号序列丢失了一些括号,问可能的合法括号序列个数 (和)可以匹配当且仅当它们的种类一样 \(A\)是合法的,\(x,y\)是某种括号,那么\(xAy\)是合法的当且仅当\(x,y\)匹配 \(A、B\)

P1399 [NOI2013] 快餐店 题解

题目大意 求一棵基环树的重心。即一个点,使得树上到其距离最长的点到其的距离最短。注意,这个点不一定是一个节点,可以在树上的任意位置。输出树上到其距离最长的点到其的距离。 或者说求基环树最短的直径?(大雾 解题思路 显然,这颗基环树的直径只有两种情况:经过环和不经过环。 如果不经

84. 柱状图中最大的矩形

84. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。   示例 1: 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10 示例 2: 输入: heights =

CFX-Pre-User Locations-User Point Clouds 的输入文件格式

User Point Clouds 所需要的外部输入文件格式(文件格式为.csv)如下述代码所述: 点击查看代码 [Name] larry 1 # point clouds name you defined [Data] X[m],Y[m],Z[m] 0.245,-0.007,0.0125 # points location you defined 0.245,-0.007,0.009

8.23复学记

水了114514天,要开始认真地学习啦! P3834 【模板】可持久化线段树 2 主席树 点击查看代码 #include <algorithm> #include <cstdio> #include <iostream> const int N = 2e5 + 3; int n, m, a[N], p[N], T[N], s, cnt;//T树根编号 int sum[N << 5], L[N << 5], R[N << 5

链表应用题

1. 递归删除指定值(无头结点) void Del(ListNode* L,int val){ ListNode* p;//指向被删除节点 if(L==NULL) return;//递归边界 if(L->val==val){//处理首指针 p = L; L = L->next; free(p);//删除节点 Del(L,val);//递归调用 }

题解 TSP 但是你有约束

Description 给定一张带权完全图,求一条路径满足 不重复经过一个点。 在过点 \(i\) 时,\(1\cdots i - 1\) 要么全访问过,要么都没有访问过。 点数 \(n\) 有 \(1\le n\le 1e3\) Solution % 你赛唯一做出来一道题 wwwwwwww QAQ 花了 1h30min 发现自己找的规律不对 QAQ 所以找规律最好

最低公共祖先

https://www.acwing.com/problem/content/description/1638/ 思路: LCA(爬山法)+重建一个树(知道其两个排序),由于时间n可能比较大,而且这题时间限制比较紧张,所以最后离散化,尽量查询不用哈希,因为哈希的常数太大了。 #include <iostream> #include <cstring> #include <unordered_map> #

EVA

EVA 主要贡献 构建2021年最大中文对话数据集WDC-Dialogue,有1.4B context-response pairs。 基于Transformer架构,搭建2021年最大中文对话系统,有2.8B的参数量 WDC-Dialogue Dataset 数据收集 Repost 转发 Comment 评论 Q&A 问答 数据清洗 删除平台相关的tag信息,例如Reply to @*

white-space 与 word-break

word-break 使容器内容自动换行 1,word-break:break-all 默认截断 即容器边缘自动换行 2,word-wrap:break-word 单词为整体, 单词不可拆分换行 white-space 段落中的文本是否换行 1. normal 默认。空白会被浏览器忽略。 2.pre 空白会被浏览器保留。其行为方式类似 HTML 中

week03-day05练习

<script> // 1, 使用reduce求数组中所有元素的乘积, // var arr = [2, 3, 4, 5, 6, 7] var arr01 = [2,3,4,5,6,7]; var result = arr01.reduce(function(pre,cur){ return pre * cur ; }) console.log(result); /