自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(144)
  • 收藏
  • 关注

原创 【active contours without edges】level set水平集方法实现图像分割 论文详解+代码实现

基于level set(水平集方法)导的图像分割。区别于传统active contour活动轮廓,主要是根据图像的强度,利用数学方法进行迭代。

2021-12-27 11:45:20 3203

原创 【LuoguP1133 教主的花园】动态规划

link主要是写起来比较麻烦,思路很简答。可以先把第一个的状态定下来,然后向后更新,统计答案。第一个元素(j, k)所确定的以外的状态设为负无穷。注意,由于n为偶数, 奇偶性相同的土地同时位于波峰(波谷)#include <cstdio>#include <iostream>#include <algorithm>#include <cctype>#include <cmath>#include <vector>#i.

2021-05-14 21:50:52 124

原创 Coderforces #Div2 715 A~E 题解

A#include <cstdio>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <cctype>#include <cmath>#include <cstring>#include <stack>#include <tuple>#include &lt

2021-04-17 12:09:05 151

原创 CF1452D. Radio Towers

link#include <cstdio>#include <iostream>#include <algorithm>#include <algorithm>#include <vector>#include <queue>#include <cctype>#include <cmath>#include <cstring>#include <stack>#inc.

2021-04-08 17:24:23 79

原创 高精度(vector实现)

写了几个高精度,不得不说stl是真好用#include <cstdio>#include <iostream>#include <algorithm>#include <algorithm>#include <vector>#include <queue>#include <cctype>#include <cmath>#include <cstring>#include <

2021-04-06 10:38:57 176

原创 【P4720】 扩展卢卡斯

要注意的点还是很多的比如求n! mod (p^k)时, 对剩余不足一周期的部分(即计算remain时)i可能很大, remain * i很容易爆long long,注意要取模。#include <algorithm>#include <iostream>using namespace std;using ll = long long;ll gcd(ll a, ll b){ return b == 0? a: gcd(b, a % b);}ll exgcd(

2021-04-06 00:27:18 81

原创 【P1439】最长公共子序列

link一个很巧妙的映射关系,由于LCS的下标是递增的。于是转化成了求LIScode#include <cstdio>#include <iostream>#include <algorithm>#include <algorithm>#include <vector>#include <queue>#include <cctype>#include <cmath>#include &lt.

2021-04-03 10:10:36 50

原创 【AcWing482】 合唱队形 LIS问题

code很经典的二分求法,复习一下#include <cstdio>#include <iostream>#include <algorithm>#include <algorithm>#include <vector>#include <queue>#include <cctype>#include <cmath>#include <cstring>#define forn(i

2021-04-03 09:47:53 74

原创 【AcWing291】棋盘类压状dp

linkcode#include <cstdio>#include <iostream>#include <algorithm>#include <algorithm>#include <vector>#include <queue>#include <cctype>#include <cmath>#include <cstring>#define forn(i, n) for.

2021-04-02 21:22:06 73

原创 LuoguP4777 【模板】扩展中国剩余定理(EXCRT)

实际上是用递归推的,感觉和中国剩余定理的关系不大。变量很多,注意各个变量的含义#include <iostream>#include <cctype>#include <cstring>#include <cstdio>#include <vector>#include <set>#include <algorithm>#include <map>#include <unordered_

2021-03-29 15:10:34 67

原创 【LuoguP1495】中国剩余定理CRT模板

code用扩欧求逆原是要求互质的,因为这时候满足ax + by = gcd(a, b) = 1才有 ax = 1(mod b)。#include <iostream>#include <cctype>#include <cstring>#include <cstdio>#include <vector>#include <set>#include <algorithm>#include <map&g

2021-03-29 12:36:17 72

原创 First element at least X - 2

code#include <iostream>#include <cctype>#include <cstring>#include <cstdio>#include <vector>#include <set>#include <algorithm>#define forn(i, n) for (int i = 0; i < int(n); i++)using namespace std;usi

2021-03-24 23:11:33 106

原创 【CFcourse】First element at least X

link同上次一样,不同的是这次维护的是最大值。code#include <iostream>#include <cctype>#include <cstring>#include <cstdio>#include <vector>#include <set>#include <algorithm>#define forn(i, n) for (int i = 0; i < int(n); i++

2021-03-24 11:16:48 109

原创 【CFcourse】A. Segment with the Maximum Sum

In this problem, you need to write a segment tree to find the segment with the maximum sum.linkcode#include <iostream>#include <cctype>#include <cstring>#include <cstdio>#include <vector>#include <set>#include

2021-03-24 10:28:26 167

原创 C. Number of Minimums on a Segment

link同时维护线段树区间最小值和最小值的数量code#include <iostream>#include <cctype>#include <cstring>#include <cstdio>#include <vector>#include <set>#include <algorithm>#define forn(i, n) for (int i = 0; i < int(n); i++.

2021-03-24 00:21:06 128

原创 【LuoguP1776】 宝物筛选 多重背包 二进制优化

link时间复杂度变为O(wlogk) k为背包的总数code#include <cstdio>#include <iostream>#include <algorithm>#include <cctype>#include <cmath>#include <unordered_map>using namespace std;using ll = long long;const int N = 3e5 + 10;

2021-03-20 16:13:48 51

原创 【LuoguP1993】 小 K 的农场 差分约束

linkcode#include <iostream>#include <cstdio>#include <queue>#include <algorithm>#include <cstring>using namespace std;const int N = 5005;int dis[N], cnt[N], vis[N];int head[N];struct edge{ int to, nxt, val;}e[.

2021-03-20 09:39:58 56

原创 LuoguP2922 [USACO08DEC]Secret Message G 01Trie

code/*LuoguP2992同时维护01字典树每个节点经过的次数以及用f[N]对结尾标记 */#include <iostream>#include <algorithm>#include <cstdio>using namespace std;inline int read(){ int x = 0, op = 1; char ch = getchar(); while (!isdigit(ch)){ if (ch == '-

2021-03-20 08:56:10 67

原创 【CF706D】 Vasiliy‘s Multiset

link从高位到低位建立01字典树,支持插入,删除和最大异或路径的查询。code要提前insert一个0,防止出现类似于一开始query ? 1的情况#include <cstdio>#include <iostream>#include <algorithm>#include <cctype>using namespace std;inline int read(){ int x = 0, op = 1; char ch = .

2021-03-19 22:46:11 76

原创 CF1499D【D. The Number of Pairs】

linkcode还是要提前做一下记忆优化,要不然会T#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <vector>#include <algorithm>#include <set>#include <map>#define fr(i, n) for (int i = 0; i .

2021-03-19 19:21:33 67

原创 【CF1494】B. Berland Crossword

link突然发现这题有点意思,直接枚举,时间复杂度是O(1)dogecode#include <iostream>#include <cstdio>#include <algorithm>#include <cctype>#include <cstring>using namespace std;inline int read(){ int x = 0, op = 1; char ch = getchar(); .

2021-03-18 14:19:03 87

原创 【LuoguP4551】 最长异或路径 01Trie

linkcode#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <vector>#include <cctype>#include <map>using namespace std;inline int read(){ int x = 0, op = 1; char ch = .

2021-03-18 10:38:15 38

原创 【CF1401C】 Mere Array

linkcode#include <cstdio>#include <iostream>#include <algorithm>#include <map>#include <cctype>#include <cstring>using namespace std;const int N = 1e5 + 10;inline int read(){ int x = 0; char ch = getchar.

2021-03-16 07:12:42 75

原创 P1082 [NOIP2012 提高组] 同余方程

codeax + by = m方程有解的必要条件是m % gcd(a, b) = 0。又因为 ax + by = 1有解,所以可以推出gcd(a, b) = 1,于是可以用扩展欧几里得求得x。#include <cstdio>#include <iostream>#include <algorithm>using namespace std;void exgcd(int a, int b, int&x, int &y){ if (

2021-03-10 14:40:27 48

原创 【LuoguP3811】P3811 乘法逆元

code#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int N = 3e6 + 100;int inv[N], n, p;void solve(int num){ inv[1] = 1; for (int i = 2; i <= num; ++i) { inv[i] = (long long)(p

2021-03-10 14:01:05 44

原创 leetcode429 N叉树层序遍历

和二叉树层序遍历方法大同小异。/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node() {} public Node(int _val) { val = _val; } public Node(int _val, List<Node> _children) {

2021-03-07 09:13:38 44

原创 leetcode107 树的层序遍历

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { *

2021-03-07 09:11:02 49

原创 leetcode404

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { int res = 0; public int sumOfLeftLeaves(TreeNode root

2021-03-07 09:09:02 155

原创 leetcode199二叉树的右视图 dfs

link传送门可见通过dfs来遍历二叉树获得其中的信息是很高效的。codeclass Solution { List<Integer> res = new LinkedList<>(); int maxdep = 0; public List<Integer> rightSideView(TreeNode root) { if (root == null) return res; dfs(root, 1

2021-03-07 00:24:04 44

原创 leetcode213 打家劫舍 II

要打劫元素构成了一个环,也就是说在满足不取相邻的数的前提下,第一个和最后一个不能同时取到。于是我们分别去掉第一个和最后一个数,进行两次动态规划,结果最大的就是答案。class Solution { public int rob(int[] nums) { if(nums.length == 1) return nums[0]; return Math.max(func(Arrays.copyOfRange(nums, 1, nums.length)),

2021-03-05 18:15:38 43

原创 LuoguP3796 【模板】AC自动机(加强版)

link链接code#include <iostream>#include <queue>#include <cstdio>#include <cstring>#include <algorithm>const int N = 1e6 + 10;using namespace std;struct Ans{ int num, pos;}ans[N];bool cmp(Ans a, Ans b){ if

2021-03-02 07:58:16 63

原创 LuoguP5960 【模板】差分约束算法

link链接分析一下是粗略的证明先假设这样的解是存在的,对未知数Xi,假设一共有k组差分约束,则容易推出Xi <= min{ , , ,}而通过建边用spfa得到的结果显然是满足这个条件的。为了维护图的连通性,需要加入超级源点对于存在负环的情况,SPFA可以判断,此时负环的意义就是Xi <= Xi + 某负数,很显然不会存在符合差分约束的解。code#include <cstdio>#include <iostream>#include <a

2021-03-01 20:39:16 103

原创 LuoguP2580字典树

link链接codetag[num] == 1表示从根节点到编号为num的节点所表示的字符串曾经出现过。为了判断是否重复,可以对已经重复的tag值修改为2.#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int N = 500010;int m, n, tr[N][26], tag[N];int cnt = 1;int main(

2021-03-01 19:28:41 72

原创 【CF1478C】Nezzar and Symmetric Array

code#include <iostream>#include <cstdio>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <cstring>using namespace std;typedef long long ll;int n;void sol

2021-01-29 10:46:28 201 2

原创 P3375 【模板】KMP字符串匹配

code#include <cstdio>#include <algorithm>#include <cstring>#include <cctype>#include <vector>#include <iostream>#include <map>#include <set>using namespace std;inline int read(){ int x = 0, op

2021-01-25 13:03:25 76

原创 【CF1462D】 Add to Neighbour and Remove

code#include <cstdio>#include <algorithm>#include <cstring>#include <cctype>#include <vector>#include <iostream>#include <map>using namespace std;inline int read(){ int x = 0, op = 1; char ch = getcha

2021-01-24 18:19:24 105

原创 P1823 [COI2007] Patrik 音乐会的等待 单调栈

单调栈链接栈底维护的是目前身高最高的人,因为在此人前的人因为此人的存在不能与后来的人联系了,所以如果遇到身高高的人就不断让比他身高矮的人出栈即可。不过我们还要留意身高相同的情况。由于要考虑重复的情况,用单调队列时将高度相同的人挤掉(统计答案)之后还要再加上去,这种情况遇到所有人身高相同的时候就退化成了O(n^2)的算法了,T了三个点。#include <cstdio>#include <algorithm>#include <cstring>#include

2021-01-22 21:13:36 164

原创 【P2947】 [USACO09MAR]Look Up S单调栈

链接code#include <cstdio>#include <algorithm>#include <cstring>#include <cctype>#include <vector>#include <iostream>#include <map>using namespace std;inline int read(){ int x = 0, op = 1; char ch = ge.

2021-01-22 19:20:34 174

原创 【P1496】 火烧赤壁 离散化 +差分

code#include <iostream>#include <cctype>#include <cstdio>#include <algorithm>#include <vector>#include <cstring>using namespace std;inline int read(){ int x = 0, op = 1; char ch = getchar(); while (!isdi

2021-01-22 16:59:58 130

原创 【LuoguP1955】 [NOI2015] 程序自动分析

链接传送门用并查集检验合理性,由于数据较大,需要做一下离散化。#include <iostream>#include <cctype>#include <cstdio>#include <algorithm>#include <vector>#include <cstring>using namespace std;inline int read(){ int x = 0, op = 1; char ch

2021-01-22 16:27:12 103 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除