自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【常用工具】通用-修改图像的形状

方法是使用PIL中的Image,可以用来读("Image.open")或者保存("picture.save.(path)")这里的resample中第二个参数可以改成不同的数字,表示使用不同的采样方式。from PIL import Imageimport os#原始文件夹file_path = "vis/";#修改后图像放置的文件夹file_new_path = "vis_rg...

2023-01-25 11:54:00 194

原创 《UNIFusion: A Lightweight Unified Image Fusion Network》论文解读+代码【更新中】

论文+代码链接论文代码 陆续更新中...摘要作者提出了一个轻量化的网络模型,用来解决不同的图像融合任务(通用模型)。使用了一个引导滤波的操作,将图像分解,从而不同层级可以使用不同的融合策略,为融合策略组合提供了更多可能。其中为多聚焦图像融合任务设计了一个梯度感知融合策略。指标SOTA。引言引言部分,分成传统和深度方法做介绍,然后提了一下传统,逐渐过渡到深度方法的简介。最早的深度融合,还...

2022-04-14 20:51:00 560

原创 【Educational Codeforces Round 103 (Rated for Div. 2) C】Longest Simple Cycle

题目链接链接翻译每一列的头尾会和前一列的第 \(a_i\) 和第 \(a_j\) 个节点相连,第 \(i\) 列有 \(c_i\) 个节点。问你能形成的一个最长的环是多少。题解设 \(pre_i\) 表示从第 \(i\) 列的 两端 开始,往前延伸,形成的最长的环。则 \(pre_i\) 有两种更新方式,第一种在第 \(i-1\) 列往两边开花,第二种,在第 \(i-1\) 列闭合...

2021-03-08 10:46:00 203

原创 【Educational Codeforces Round 101 (Rated for Div. 2) D】Ceil Divisions

题目链接链接翻译定义一个数组 \(a_i = i\)你每次可以选择两个下标 \(i\) 和 \(j\),让你用 \(a_i\) 去除 \(a_j\) (向上取整)。希望最后 \(n\) 个数字中剩下 \(n-1\) 个 \(1\) 以及 \(1\) 个 \(2\)。且操作的次数不能超过 \(n+5\) 次。题解思路是这样的,对于 \(1\) 的产生,只需用 \(i\) 去除 \(...

2021-03-06 10:44:00 129

原创 【Educational Codeforces Round 101 (Rated for Div. 2) C】Building a Fence

题目链接链接翻译让你放长度为 \(k\) 的长条,相邻两列必须有一个公共位置,路不是平的,长条必须放在某个高度之上。且最高不能高过路高上面 \(k-1\)。规定第一列和最后一列只能老老实实放在路面上。问你能否符合上述要求放好所有的长条。题解每一列处理出来一个可能的长条占据的区域 \(Occpied\) 的上下界,然后以此来决定下一列可以放长条的上下界。根据这个上下界,和第 \(...

2021-03-05 14:09:00 101

原创 【Codeforces Round #698 (Div. 2) C】Nezzar and Symmetric Array

题目链接链接翻译给你 \(2n\) 个数字, 每个数字各不相同,如果 \(a[i]\) 存在的话,那么 \(-a[i]\) 也会存在于这个数组中。定义 \(d_i\) 为 \(a_i\) 和所有数字的差的绝对值之和。现在告诉你 \(d_i\),让你还原出来原始的 \(a_i\)。题解我们假设 \(a_1,a_2,a_3...a_n\) 分别为最大的 \(n\) 个正数(会对应 \(...

2021-03-04 09:44:00 76 1

原创 【Codeforces Round #696 (Div. 2) D】Cleaning

题目链接链接翻译你可以选择相邻的两个都不为空的石头堆,从两个石头堆(每个石头堆中有多个石头)中都拿去一个石头。你可以进行无数次这样的操作,问你最终能否将所有的石头都拿走。石头是在一条直线上排列的,从左到右标号为 \(1\) 到 \(n\)。题解会发现第一个位置上的石头,只能通过拿堆 \(1\) 和堆 \(2\) 全部拿走。然后堆 \(1\) 全拿完之后,堆 \(2\) 变成新的堆...

2021-03-02 21:46:00 58

原创 【Codeforces Round #696 (Div. 2) C】Array Destruction

题目链接链接翻译让你一开始的时候选定一个 \(x\) 的值,然后从数组中找到两个数 \(a[i]\) 和 \(a[j]\),使得他们的和为 \(x\),然后从数组中移除掉这两个数字 \(a[i]\) 和 \(a[j]\)。然后用 \(a[i]\) 和 \(a[j]\) 中的较大者代替 \(x\),重复上述移除过程,直到数组为空。回答能否找到这样的 \(x\)。如果能找到,输出每次选择的...

2021-03-01 20:56:00 78

原创 【Educational Codeforces Round 102 D】Program

题目链接链接翻译给你一个长度为 \(n\) 的序列,每个字符为加法或减法操作,这些操作按顺序执行,且初始的时候你的数字为 \(0\)。现在给你 \(m\) 个询问,这些询问用区间 (l,r) 描述,表示从 \(l\) 开始到 \(r\) 结束这一段的操作被忽略了。然后剩下的操作还是按顺序执行的话,问你最后在数字变化的过程中,会出现多少个不同的数字。题解首先不同的数字个数,就是在变换...

2021-02-27 15:07:00 74

原创 【Educational Codeforces Round 102 C】No More Inversions

题目链接链接翻译给你一个序列 \(a\), 是 1,2,3...k 按顺序组成的 \(n\ (n>=k)\) 个数字, 超过 \(k\) 了,又从右往左取。然后,让你确定一个排列 \(p\),使得它按照 \(a\) 中元素作为下标顺序取,得到的序列 \(b\) 中逆序对的个数不超过原序列 \(a\)。并且,要求得到的序列 \(b\) 的字典序是最大的。题解做这题之前,...

2021-02-25 20:50:00 91

原创 【Good Bye 2020 G】Song of the Sirens

题目链接链接翻译给你一个字符串 \(s_i\) 的生成规则,\(s_{i+1}=s_it_is_i\)。因为 \(t\) 的长度为 \(n\), 所以一直会生成到第 \(n+1\) 个字符串。然后给你 \(Q\) 个询问,第 \(i\) 个询问会问你字符串 \(w\) 在 \(s_k\) 中出现的次数。题解KMP,思维,前缀和。大概的做法就是,\(w\) 的出现次数是前一首歌的两...

2021-02-21 15:23:00 147

原创 【Good Bye 2020 F】Euclid's nightmare

题目链接链接翻译给你 \(n\) 个向量, 每个向量都是 \(m\) 维的,在他们之间你可以做任意次数的模 \(2\) 加法,用 \(T\) 表示你能用这些向量得到的向量, 然后问你用 \(n\) 个向量中最少多少个向量就已经足够表示出 \(T\) 了,设这个最少用的向量集合为 \(S\),让你求出\(T\) 的大小, 以及 \(S\) 的大小, 和 \(S\) 的各个向量下标...

2021-02-15 15:42:00 131

原创 【Good Bye 2020 E】Apollo versus Pan

题目链接链接翻译题意很简单,让你求题目描述中那个离谱的式子。题解大概就是这样做了一下变换然后我们就可以固定 \(j\),问题转换成快速求解 \(\sum_{i=1}^n(x_j\ \&\ x_i)\) 和 \(\sum_{i=1}^n(xj\ |\ xi)\)如果我们设 \(f(i,j)\) 表示 \(i\) 这个数字的二进制从右往左数的第 \(j\) 个 \(b...

2021-02-14 07:57:00 76

原创 【Good Bye 2020 D】13th Labour of Heracles

题目链接链接翻译让你给一棵树上的边染色,然后对于颜色为 \(k\) 的边, 只保留这些边,形成一个 \(k\) 子图,然后不是可能会组成很多个联通分量吗?则这个 \(k\) 子图的权重就为所有联通分量的权重最大值。(联通分量的权值为各个节点加和)你最多可以使用 \(K\) 种颜色的边,\(K\) 从 \(1\) 到 \(n-1\) 变换,让你求出所有子图的权重的累加和的最大值。...

2021-02-11 08:11:00 126

原创 【Good Bye 2020 C】Canine poetry

题目链接链接翻译translation题解只要不存在长度为 \(2\) 或 \(3\) 的回文, 就不会有更长的回文啦。所以,每个位置都和前一个以及前前一个位置判断一下是否相同就好, 然后如果某个位置修改过。就把它当做是一个通配符,不会和任何一个字符相同。代码#include <bits/stdc++.h>#define LL long longusin...

2021-01-26 14:11:00 67

原创 【Codeforces Round #694 (Div. 1) C】Strange Shuffle

题目链接链接翻译每个人初始都有 \(k\) 张牌,每个单位时间,他们会对自己手上的牌进行如下操作:每个人都把自己一半的下取整到左边,上取整到右边相邻的一个人。但是有一个人搞特殊,他不会给左边相邻的人,而是将自己全部的牌都给右边相邻的人。每过一个单位时间,你都可以询问某个位置上的人有多少张牌,问你如何确定询问及位置,以找到那个特殊的人。询问的次数不能超过一千次。题解模拟一...

2021-01-22 16:42:00 80

原创 【Codeforces Round #694 (Div. 1) D】Strange Housing

题目链接链接翻译让你在 \(n\) 个点上放老师,使得这 \(n\) 个点任意两个点之间都有路径。但是所给的路径要激活才能用,而激活的条件就是路径连接的两个点中,有一个点放了老师。当然一条路径不能两个端点都放老师,不然他们会打架 2333输出任意一个合法的方案即可。题解随便找一个没染色的点 \(u\),染成黑色。然后把所有和 \(u\) 相邻的点集 \(V\) 都染成白...

2021-01-18 09:52:00 92

原创 【Codeforces Round #694 (Div. 1) B】Strange Definition

题目链接链接翻译每秒钟会对原数组进行如下操作,对于每一个数组中的元素。找到整个数组中和它【相关】的数字,将这些数字全都乘起来然后用来代替这个元素。【相关】表示两个数字的最小公倍数和最大公因数的商是一个完全平方数。然后让你回答 \(q\) 个询问,表示 \(w\) 秒钟之后,数组中每个元素【相关】的数字的个数的最大值。题解得知道 \(lcm(x,y)=\frac{x*y}{...

2021-01-16 21:41:00 114

原创 【Codeforces Round #694 (Div. 2) C】Strange Birthday Party

题目链接链接翻译translation题解\(k\) 值比较大(对应的礼物贵)的优先安排小的 \(c\),这样节省的 \(money\) 最多。因为每个 \(k\) 都是要满足的,当然尽可能用便宜点的搪塞最好。。塑料友情。。代码#include <bits/stdc++.h>#define LL long longusing namespace std;...

2021-01-15 10:17:00 70 1

原创 【Codeforces Round #693 (Div. 3) F】New Year's Puzzle

题目链接链接翻译给你一个 \(2*n\) 的方格,让你用 \(1*2\) 的骨牌,横着或者竖着放,铺满整个方格。其中有一些被黑色方块阻挡,不能放骨牌。问你可不可行。题解首先考虑 整个方格 第一列,如果两行都是空的。那么考虑第二列的几种情况:第二列也是空的,那么第一列放竖的没问题。第二列有一个方格被堵住了,那么第一列只能竖着放了,不然铺不满(注意这是第一列,它之前没有列...

2021-01-13 21:13:00 91

原创 【Codeforces Round #693 (Div. 3) G】Moving to the Capital

题目链接链接翻译注意是有向图,不然这题读起来会觉得题目很奇怪。。题解bfs 求最短路 d[1..n],然后对于 \(d_i<d_j\) 的边连实线,否则连虚线。就可以做 dp 了,对于实线 dp[x] = min(dp[x],dp[y]),对于虚线 dp[x] = min(dp[x],d[y]) 。虚线只能走一次嘛。然后实线还能顺着往下走。妥妥的记忆化,当然不要忘了待...

2021-01-11 20:51:00 63

原创 【Codeforces Round #695 (Div. 2) E】Distinctive Roots in a Tree

题目链接链接翻译给你一棵树,树上的每一个节点都带有权值。让你统计这样的点 \(x\) 的个数,使得以 \(x\) 为根的时候,所有以 \(x\) 开始,以某个节点结束的路径中每个节点的权值都是唯一的,即每个权值都只出现了一次。称这样的 \(x\) 为 \(distinctive\ root\), 统计所给的树中这样的 \(distinctive\ root\) 的个数。题解...

2021-01-11 13:02:00 54

原创 【Codeforces Round #695 (Div. 2) D】Sum of Paths

题目链接链接翻译可以从数组中任意一个位置开始出发走一条路径,每一步可以往走到相邻的一个格子(左或右)。但是不能超过边界。问你所有不同的长度为 \(k+1\) 的路径的和是多少。然后要支持更新操作实时回答这个路径和。题解\(n\) 和 \(k\) 都只有 \(5000\),其实是比较容易往 \(DP\) 上面想的。实时更新的话,只要能够知道最后每个数字在答案中的贡献 \(c...

2021-01-09 15:58:00 128

原创 【Codeforces Round #695 (Div. 2) C】Codeforces Round #695 (Div. 2)

题目链接链接翻译给你 \(3\) 个多重集,第 \(i\) 个集合有 \(n[i]\) 个数字。从两个不同集合中分别取出数字 \(x\) 和 \(y\),则从两个集合中分别删去 \(x\) 和 \(y\), 然后在第 \(1\) 个集合中(取出 \(x\)的那个集合) 加入元素 \(x-y\)。要求最后只有一个集合中剩下一个数字,问你这个数字最大可以是多少。题解思维把操...

2021-01-09 10:18:00 103

原创 【Codeforces Round #695 (Div. 2) C】Three Bags

题目链接链接翻译给你 \(3\) 个多重集,第 \(i\) 个集合有 \(n[i]\) 个数字。从两个不同集合中分别取出数字 \(x\) 和 \(y\),则从两个集合中分别删去 \(x\) 和 \(y\), 然后在第 \(1\) 个集合中(取出 \(x\)的那个集合) 加入元素 \(x-y\)。要求最后只有一个集合中剩下一个数字,问你这个数字最大可以是多少。题解思维把操...

2021-01-09 10:18:00 54

原创 【Codeforces Round #695 (Div. 2) B】Hills And Valleys

题目链接链接翻译让你统计"山"和“山谷"的总个数,要求这个总个数最少。你可以修改某个数字为任意整数。题解首先对于初始的数组,统计一下山加上山谷的总数\(cnt\)然后枚举第 \(i\) 个位置,现在要对第 \(i\) 个位置上的数字进行修改了。最直接的想法就是,改了 \(a[i]\) 之后,哪些位置上的山顶和山谷的值会受到影响呢?只有 \(i-1,i,i+1\) 这 \...

2021-01-09 01:00:00 148

原创 【Codeforces Round #695 (Div. 2) A】Wizard of Orz

题目链接链接翻译translation题解98901234....写题解的时候才发现题目名字里有个ORZ代码/**/#include <bits/stdc++.h>using namespace std;int main(){ #ifdef LOCAL_DEFINE freopen("in.txt", "r", stdin); #en...

2021-01-09 00:54:00 167

原创 【Codeforces Round #693 (Div. 3) E】Correct Placement

题目链接链接翻译translation题解线段树,只要维护一个以 \(w\) 为下标,然后线段树上的值维护的是这个范围的 \(w\) 里面, 最小的 \(h\) 所在的位置即可。涉及到一些离散化的操作,所以代码看起来比较丑陋。然后查询的时候,如果想找小于 \(w\) 和 \(h\) 的,就先在 \(1..w-1\) 这个范围里找最小的 \(h_{min}\) 然后用这个 \...

2021-01-06 11:03:00 150

原创 【Codeforces Round #693 (Div. 3) D】Even-Odd Game

题目链接链接翻译translation题解贪心,随便想想也能猜到,排序。然后哪一方最大的数字大(奇数和偶数),就抢对方的(对方的奇偶性数字大),或者拿自己的(自己的奇偶性大)。这样,对于拿的那个人来说收益总是最大的。不够了就随遇而安就行。。代码#include <bits/stdc++.h>#define lson l,mid,rt*2#define r...

2021-01-06 10:59:00 116

原创 【Codeforces Round #693 (Div. 3) C】Long Jumps

题目链接链接翻译translation题解动规。\(f[i] = f[i+a[i]]+a[i]\) 类似这样?...倒着推一下,注意边界就行。代码#include <bits/stdc++.h>#define lson l,mid,rt*2#define rson mid+1,r,rt*2+1#define LL long longusing name...

2021-01-06 10:57:00 105

原创 【Codeforces Round #693 (Div. 3) B】Fair Division

题目链接链接翻译translation题解先用 \(2\) 然后用 \(1\) 补来凑n/2就行。挺显然的一个贪心。代码#include <bits/stdc++.h>#define lson l,mid,rt*2#define rson mid+1,r,rt*2+1#define LL long longusing namespace std;c...

2021-01-06 10:55:00 117 1

原创 【Codeforces Round #693 (Div. 3) A】Cards for Friends

题目链接链接翻译题解看到除2就知道是个暴力题了。模拟就行,log复杂度除不了几下的。然后每次分成的碎片个数乘 \(2\) 也很快就会超过 \(n\) 了,为了防止爆 \(int\) 中间就停下来吧。代码#include <bits/stdc++.h>#define lson l,mid,rt*2#define rson mid+1,r,rt*2+1#de...

2021-01-06 10:46:00 84

原创 1800*2【Codeforces Round #612 (Div. 1) A】Garland

题目链接链接翻译给你一个排列,其中有一些位置上的数字被remove了,让你全都放回去。定义相邻两个数字如果奇偶性不同,\(diff\) 值加 \(1\)。求数字全都放回去之后 \(diff\) 的值的最小值。题解设 \(dp[i][j][k]\) 表示前 \(i\) 个数字放了 \(j\) 个偶数,最后一个数字奇偶性为 \(k\) 的最小 \(diff\)。之所以可以只用...

2021-01-04 10:06:00 84

原创 【Codeforces Round #665 (Div. 2) D】Maximum Distributed Tree

题目链接链接翻译让你给树上的每条边分配一个数字。要求这 \(n-1\) 个数的乘积要等于 \(k\)分配的 \(1\) 的个数要尽可能少。这个 \(k\) 质因数分解的时候,每个质因子的指数都是 \(1\),且 \(k\) 是以告诉你它每个质因子的形式给出的。要求树上任意两点之间的距离和最大。输出这个最大值。题解感觉证明做法的正确性会比做法本身难。。首先解决两点之间距离...

2020-12-25 18:08:00 62

原创 1800*1【Codeforces Round #665 (Div. 2) D】Maximum Distributed Tree

题目链接链接翻译让你给树上的每条边分配一个数字。要求这 \(n-1\) 个数的乘积要等于 \(k\)分配的 \(1\) 的个数要尽可能少。这个 \(k\) 质因数分解的时候,每个质因子的指数都是 \(1\),且 \(k\) 是以告诉你它每个质因子的形式给出的。要求树上任意两点之间的距离和最大。输出这个最大值。题解感觉证明做法的正确性会比做法本身难。。首先解决两点之间距离...

2020-12-25 18:08:00 72

原创 【Educational Codeforces Round 97 (Rated for Div. 2) C】Chef Monocarp

题目链接链接翻译给每道菜确定一个取出时间,每道菜对不愉快程度的贡献为它取出的时间和最佳取出时间差的绝对值。要求最后不愉快程度之和最小,求这个最小值。题解动态规划,一个很显然的贪心是,我们把 \(t\) 进行排序,然后依次从小到大地顺序分配每个菜是最好的。也即时间小的菜分配对应的时刻也应该要靠前。最后用到的时刻一定不会超过 \(2*n\)。所以定义 \(f[i][j]\) ...

2020-12-24 15:52:00 498

原创 【Codeforces Round #223 (Div. 1) C】Sereja and Brackets

题目链接链接翻译给你一个区间,让你输出其中合法的括号序列(不要求连续)的最长的长度。题解线段树在节点上维护当前这个区间内左右括号已经匹配了的对数 \(mb[rt]\)另外维护两个用于合并的数组 \(lb[rt]\) 表示还没有用来匹配的左括号的数目,\(rb[rt]\) 则是右括号。\(trick\) 就是,在合并的时候因为区间已经足够小了。两个子区间不考虑有匹配的情况了...

2020-12-23 17:49:00 99

原创 【Codeforces 1461E】Water Level

题目链接链接翻译让你维持水位始终在 [l,r] 这个范围且,你每天开始的时候可以加(所以也可以不加) \(y\) 升水,然后结束的时候会少掉 \(x\) 升水(固定)。一开始水位是 \(k\),问你这样(水位始终在 [l,r] 这个区间) 能否持续 \(t\) 天。题解如果 \(y<x\),那么显然水位只会一直下降。则一开始如果水位大于 \(r-y\) 那么就每次只减...

2020-12-18 14:50:00 127

原创 【Codeforces 1453D】Checkpoints

题目链接链接翻译每个阶段都有 \(\frac{1}{2}\) 的几率失败,失败了会回到上一个存档点。想让玩家的期望尝试次数为 \(k\),问你能否设计出一个不超过 \(2000\) 级台阶的策略,满足这个要求。题解如果只有一个 \(1\) 的话,那么期望尝试次数为 \(2\)。假设后面出现了一个 \(0\),即 10,那么到达第 \(2\) 层且通过了第二层(能够到达第三层了...

2020-12-17 10:29:00 111

原创 【Codeforces 1338B】Edge Weight Assignment

题目链接链接翻译让你构造一棵树,使得任意两个叶子节点之间路径的权重异或和为 \(0\)。并且,树中用到的边的权重的不同值的个数设为 \(f\),让你求 \(f\) 的最大值和最小值。题解最小值不会超过 \(3\)。可以转化为是在给每个点标记数字,然后边上的权重就是连接它们两个点上标的数字的异或值。这样的话,只要保证任意两个叶子节点上标记的数字是一样的,就能满足题意了。我...

2020-12-16 13:40:00 98

空空如也

空空如也

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

TA关注的人

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