这两天学习了网络流,故写点东西加深理解。 关于网络流定义证明之类,前人之述备矣,此处整理一些比较舒适的代码实现。 EK 全名是 Edmonds-Karp. 慢但是码量少一些,让人十分欢乐。 EK不需要两次搜索也不需要分层。 更欢乐的是能用EK过的数据范围都较小。这是因为算法的时间复杂度 \(O(VE
一、题目 点此看题 二、解法 突破本题的关键是全局询问,对于每个询问 \((l,r,x)\),考虑计算出它完全消失的时间 \(ed_i\),那么在 \([i,ed_i)\) 这段时间内权值 \(x\) 都是出现的。所以如果我们处理出了所有 \(ed_i\),可以直接回答询问。 处理 \(ed_i\) 并不好直接 polylog,考虑将原序列
1 int candy(int* ratings, int ratingsSize) { 2 int *candys = NULL; 3 int resulte = 0; 4 5 candys = (int *)malloc(sizeof(int)*ratingsSize); 6 if (NULL == candys) 7 { 8 return 0; 9 } 10 candys[0] = 1; 11 for
pod install报错 RuntimeError - [Xcodeproj] Unknown object version. 这是因为本地的 Xcode 版本和 CocoaPods 的版本不匹配,需要更新 CocoaPods 解决方案 更新cocoapods gem install cocoapods --pre 提示没权限 You don't have write permissions for the /Library/Ruby/G
1、线索二叉树的实现 #include<stdio.h> #include<assert.h> #include<malloc.h> #define ElemType char typedef enum{LINK,THREAD}Tag_Type; typedef struct BinTreeNode { ElemType data; struct BinTreeNode *leftChild; struct BinTreeNode *r
博客皮肤:SimpleMemory CSS @font-face { font-family: 'FontAwesome'; font-style: normal; font-weight: normal; src: url("http://blog.zhaishidan.cn/css/font/fontawesome-webfont.eot?#iefix") format('embedded-opentype'), url(
pre标签可以保留渲染换和空格。 中文强制换行css属性: white-sapce: pre-wrap; <template> <div style="margin: 20px;"> <el-input type="textarea" v-model="textarea" placeholder="请输入内容" style="width:40
\(\text{Solution}\) 这是一道回文树模板题。 回文树 回文树是利用回文串的包含关系建的一个图。 首先回文树有奇根,偶根,偶根的\(fail\)指针指向奇根。 设\(fail_i\)表示标号为\(i\)的回文串失配后,他的最长后缀回文串的标号。 利用\(fail\)可以构造出回文树,考虑一个一个字符加入回
我和Codefroces的题就这么过不去 题目传送门 既然题目用hump,那我们就称a[i-1]<a[i]>a[i+1]的峰,反之为谷。 这道题是一道紫,但我认为这个紫仅是针对那些优化,其实它用五维DP没有问题,对于五维dp,是个绿就不错。 设dp[pos][up][down][pre][num],pos表示当前遍历到了哪个数,可以看做下标,u
LeetCode394 字符串解码 栈模拟解码过程,栈顶记录当前子串(当前[]内字串)的重复次数和上一层(更外一层的[]内)该子串的前缀 class Solution: def decodeString(self, s: str) -> str: stack, ans, multi = [], '', 0 for c in s: if c == '[':
CF1238D AB-String Problem - 1238D - Codeforces 大致题意 定义“好的字符串”为:串中的所有字符都属于一个长度大于1的回文子串。(原题给出了数个样例) 给出一个仅包含字符‘A’,‘B’的字符串,求问有多少个子串是好的字符串。 解题思路 参考博客:[洛谷题解] CF1238D AB-string - ye
题意:给出无限长的土豆序列,第i个重量为 \(w_{(i-1)mod n}\), 从第一个土豆开始进行打包,重量和大于等于x的最少土豆为一包。 查询q次第k个包中有多少土豆。 思路: 一包有n个可能的起点,一个起点的终点是固定的。所以最多有n种包,根据鸽巢原理,最多包n包,出现循环。所以二分出每个wi做起点
LeetCode560 和为 K 的子数组 前缀和 + 哈希 class Solution: def subarraySum(self, nums: List[int], k: int) -> int: pre_count, pre, ans = {}, 0, 0 pre_count[0] = 1 for c in nums: pre += c if (pre - k) in pre_
问题: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 解决: // 贪心算法(动态规划): class Solution { public int maxSubArray(int[] nums) { // 需要一个之前值,一个最大值,当前
LeetCode99 恢复二叉搜索树 Morris中序遍历 + 记录逆序对 Morris遍历 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right cl
泰坦尼克号沉没是历史上最臭名昭着的沉船之⼀。 1912年4⽉ 15⽇ , 在她的处⼥航中, 泰坦尼克号在与冰⼭相撞后沉没, 在2224名乘客和机组⼈员中造成1502⼈死亡。 这场耸⼈听闻的悲剧震惊了国际社会, 并为船舶制定了更好的安全规定。 造成海难失事的原因之⼀是乘客和机组⼈员没有⾜够的
union将传入的参数数组进行合并,生成一个新数组,虽然这种用map来做可能快一些吧,但不能保证元素加入的顺序,所以可以考虑通过遍历的方式,不断从收集的数组里查找遍历到的元素是否存在,不存在则加入(打不过就加入)。 function union(...arrs){ return arrs.reduce((pre, cur)=>{ cons
剑指 Offer 03. 数组中重复的数字 难度简单878收藏分享切换为英文接收动态反馈 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数
题目描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了
LeetCode123 买卖股票的最佳时机 III 最多可以完成两笔交易,即分两段做LeetCode121,处理前缀后缀之后,遍历每一个分段节点所带来的收益取最大 class Solution: def maxProfit(self, prices: List[int]) -> int: pre_gains, suf_gains, pre_min, suf_max, l = [0], [0],
NC24017 [USACO 2016 Jan S]Angry Cows 题目 题目描述 Bessie the cow has designed what she thinks will be the next big hit video game: "Angry Cows". The premise, which she believes is completely original, is that the player shoots cows with a slingshot i
二进制优化转化成01背包的复杂度为 O(n logm * m) (m为背包容量),大概是2 * 1e8的数量级,一般会超时 发现如果以j(0 <= j <= m)模上v的余数分类,相当于求固定区间的最大值(滑动窗口),可以用单调队列优化,复杂度为 O(n * m) #include<bits/stdc++.h> using namespace std; #define fr f
目录前言 前言 论文全称及链接:《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》 项目地址:google-research/bert BERT全称:Bidirectional Encoder Representations from Transformers
【题解】P4592 [TJOI2018]异或 题目链接 P4592 [TJOI2018]异或 - 洛谷 题意概述 现在有一颗以 \(1\) 为根节点的由 \(n\) 个节点组成的树,节点从 \(1\) 至 \(n\) 编号。树上每个节点上都有一个权值 \(v_i\)。现在有 \(q\) 次操作,操作如下: \(1~x~z\):查询节点 \(x\)
22-06-24 NOIO2020 #2 游戏 好久没搞 OI 真的蠢了。 恰好立刻转至少,所以设 \(f(x)\) 为钦定 \(x\) 对非平局回合的情况,\(g(x)\) 为恰好 \(x\) 对非平局回合的情况。那么: \[f(x)=\sum^m_{i=x}\binom i n g(i) \]应用二项式反演有: \[g(x)=\sum^m_{i=x}(-1)^{i-x}\binom i n f(i) \]