自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sheng4204的博客

ACM练习心得专用

  • 博客(75)
  • 收藏
  • 关注

原创 个人面试知识点

面试中遇到的各种回答不上来的题目,慢慢整理1. 大端小端大端是高字节在低地址,低字节在高地址,类似于字符串,先读到的在高位小端是高字节高地址,低字节低地址2. C语言的函数指针数组定义方式int (*fun_array[4]) (int,int) = {add, sub, mul, div};3. C++ function#include<functional>std::function<int(int,int)> func = foo;4. .

2020-08-17 11:20:54 104

原创 论文阅读笔记

BASNet: Boundary-Aware Salient Object Detection网络结构相对比较简单,官方提供了pytorch的源码和模型,而且在做实验的过程中应该可以考虑去掉后面边界优化部分Cascaded Partial Decoder for Fast and Accurate Salient Object Detection网络结构:基于(b)部分本文官方提供了pytorch源码,结构(a)作者给出了两篇论文:A bidirectional messa.

2020-10-15 18:51:47 612 3

原创 CVPR2016 显著性检测相关论文

CVPR20161. A Deeper Look at Saliency:Feature Contrast, Semantics, and Beyond原文链接: 翻译: 题目: 作者: 发表:CVPR2016 方法概要:综述性文章/理论研究2. GraB: Visual Saliency via Novel Graph Model and Background Priors原文链接:openaccess 翻译: 题目: 作者: 发表:CVPR2016 方法概要:传统方法/

2020-10-13 18:24:24 272

原创 CVPR2017 显著性检测相关论文

CVPR20171. Instance-Level Salient Object Segmentation原文链接: 翻译: 题目: 作者: 发表:CVPR2017 方向:显著实例分割 方法概要:2. Deeply Supervised Salient Object Detection with Short Connections原文链接:openaccess 翻译: 题目: 作者: 发表:CVPR2017 方向: 方法概要:3. What is and What i

2020-10-13 14:46:04 313

原创 CVPR2019 显著性检测相关论文

CVPR20191. Pyramid Feature Attention Network for Saliency detection原文链接:openaccess 翻译: 题目:基于金字塔特征注意网络的显著性检测方法 作者: 发表:CVPR2019 源码:github(tensorflow-official)、github(pytorch) 方向: 方法概要 CPFE使用空洞卷积扩大感受野 CA:channel-wise attention,融合不同尺度不同感受野的特征 S

2020-10-08 20:34:10 938

原创 腾讯笔试题-分治+线段树

题目:有n块木板,第i块木板的长度是ai,然后要对这些木块刷漆,一次可以刷连续的一行,或者一列,输入一个n和n个木板的长度,比如:n最大不超过500052 2 2 1 2//木板分布*** ******输出:3可以先刷下面一行,然后刷上面一行的左边3个,再刷右边一个大体思路:大体来说就是一个分治的思路,找到区间的最小值,然后刷最下面的部分,对于上面的部分再分开刷,当然,可能会有竖着刷效率更好的情况,这种情况就要竖着刷。这个过程涉及到一个动态查询区间最小值的问题,5000

2020-08-23 23:06:53 247

原创 最长01交替子串(浪潮笔试题)

题意:给一个只有0和1的字符串,允许反转一个连续区间,即0变成1,1变成0,求最长的01交替串多长,允许不连续。我最先想到的是动态规划解法,状态设计方面,首先一个串的状态会有以0结尾和以1结尾两种,然后题目中说允许反转一个连续区间,那么根据反转的前后,可以分为反转前,反转中(最后一个字符是被反转的)和反转后,所以组合起来,状态一共有6种,即反转前0结尾、反转中0结尾(未反转时为0,反转后为1)、反转后0结尾、反转前1结尾、反转中1结尾(未反转时为1,反转后为0)、反转后1结尾,然后每个状态的字符串具体是

2020-07-12 19:31:23 4541 4

原创 挂面经、凉面经

20200708-头条,视频架构问的很基础,但是回答的很稀烂1. 允许多个进程同时对数据进行读操作,但是不允许读和写以及写和写操作同时发生。一个整型变量 count 记录在对数据进行读操作的进程数量,一个互斥量 count_mutex 用于对 count 加锁,一个互斥量 data_mutex 用于对读写的数据加锁。2.用变量a 给出下面的定义1) 一个有10个指针的数组,该指针是指向一个整型数的;2) 一个指向有10个整型数数组的指针;3) 一个指向函数的指针,该函数有..

2020-07-08 22:52:02 231

原创 显著性检测论文阅读整理

1. Visual Saliency Based on Multiscale Deep Features原文链接:https://arxiv.org/pdf/1503.08663.pdf 翻译:https://blog.csdn.net/weixin_40740160/article/details/89005994 题目:基于多尺度深度特征的视觉显著性 作者:Guanbin Li,Yi...

2020-06-25 22:46:31 3773

原创 LeetCode 638. Shopping Offers(入门 状压dp)

给出n种商品的价格以及需求量,以及一些套餐的优惠价,问最少花多少钱,任何一种商品都不能多买。不超过6种商品,每种商品需求不超过6个,但是可能有100种套餐。leetcode感觉题目普遍偏简单一点,状压dp竟然定义难度是中等,不知道是不是我搞麻烦了。每种商品不超过6个,那么需要占三位,6种商品就是18位(这样相当于使用8进制数,也可以自己计算6进制数,那样可以更节省空间),注意要尽可能的...

2019-03-24 15:49:52 296

原创 POJ-2773 Happy 2006(容斥原理+二分结果)

题意是输入m和k,求第k个和m互素的数,m (1 <= m <= 1000000), K (1 <= K <= 100000000),数据比较大首先,可以求出m所有的素因子,最多不超过十个。如果我们已知一个x,可以根据容斥原理计算出这个数是第几个质因数,计算量大概就是2^n,n表示m的质因数个数,n<10。然后二分找到x=k就可以了,二分上界我取的十倍的k。...

2019-03-22 20:52:12 135

原创 LeetCode 4.Median of Two Sorted Arrays(双二分)

题意很简单,就是给两个排好序的数组,要求这两个数组的中位数,题目要求复杂度O(log(n+m)),虽然我知道题目数据不可能卡到这个程度的,这样的数据量C++早爆内存了,但是我很倔强,于是……说重点,这个题我的大体思路就是对第一个数组二分,然后二分查找到第二个数组里面小于这个数字的数量,如果正好两个数组一共有(n+m-1)/2个数字比当前数小,跳出,如果少于(n+m-1)/2,那么中位数要往...

2019-03-22 11:14:32 165

原创 Leetcode 10 Regular Expression Matching (dp)

给出两个字符串s、p,'.'可以匹配任意一个字符,'*'可以将其前一个的字符重复任意次数,也可以重复0次(ab*可以表示ab、abb,也可以表示a),问是否可以匹配成功。应该算是比较明显的动态规划吧,一看就猜是动态规划,不过leetcode是没有数据范围的,不知道比较暴力的方法能不能过。虽然很快看出来了,但是太久没写过dp了,调了好久才好。好,说重点,我用dp[i][j]表示s的前i个和p...

2019-03-21 21:47:35 123

原创 ACM生涯回顾总结

从初入大学对算法几乎一无所知,到ACM区域赛银奖,这两年多的时间,我在ACM队学到了很多。         进入大学以前,我们初中高中都曾经讲过VB,而我对编程的了解,也仅限于交换两个数字和三种基本排序,但排序是没写过的,只是知道算法思想。刚进入大学,我希望可以学更多知识,兼职导员便给我推荐ACM加上队里的一些“忽悠”,我就加了,如今我应该感谢那些忽悠过我的人,在ACM的这年多,我确实学到了很

2017-06-14 17:22:42 641 3

原创 2017.3CCCC团体程序设计天梯赛初赛总结

总的来说,对于自己在这次比赛的表现还是基本满意的,前几天敲了些简单的题找找感觉,也算见效了,这一次并没有感觉到对比赛的生疏,反而觉得没有压力,更能正常发挥自己的能力了。    比赛推迟一个多小时重新开始的时候,我先跟着榜做简单题,在前期先多拿分,因为题目比较水,也都很顺利,没有给自己挖坑,直到那个文字排版的题,第一次交有两个样例不对,改了一会仍然有一个不对,然后才放弃,这耽误了一些时间。然后我

2017-06-13 17:18:36 1043

原创 2017-4-18 CCCC决赛总结

首先,感谢嵩神和可神的指导(ps:如果不是看了群我也不会写这个的,真的不是不知道感恩,因为我以为总结的重点在比赛啊)。其实他们说了那么多,也有说怎样练acm,也有说找工作考研,我印象最深的其实是嵩神不经意的一句:你觉得痛苦紧张才是正常的,如果你觉得舒服了反而应该恐慌了。曾经我也秉持着相似的态度,但慢慢对自己就松懈了,回来之后我经常用这句话提醒自己,希望可以找回这种态度。  对于比赛来说,决赛仍

2017-06-13 17:14:46 1133

原创 大连区域赛总结

这次大连站的比赛,我自己内心的目标本就是铜牌,最后能拿到银牌,还是很惊喜的,我认为这样的结果是团队协作、心态,还有运气共同作用的结果,我觉得这一次我们这三方面都非常好,在去大连的路上我就跟他们说我们就当平时组队赛打就好,不要想太多,想太多反而容易紧张,导致发挥不出来,而我们也确实做到了。  周六一点开始入场,直接在赛场进行开幕式,进去以后我看了一下周围的队伍,然后通过墙上气球确认了一下正赛的题

2016-10-18 19:15:57 351

原创 uva - 1629 Cake slicing(dp)

题意:n行m列的网格蛋糕上有一些樱桃,每次可以用刀沿着网格线切成两块,问要想使最终每块蛋糕上恰好有一颗樱桃,切得最小长度。直接正向去想怎样切感觉不好想,但是可以反过来,像区间拼接一样考虑把当个网格的蛋糕拼接起来,拼接的长度就是要切的长度。dp[a][b][c][d]表示从(a, b)点到(c, d)的矩形范围内拼接的最短长度,num[a][b][c][d]用来统计这个矩形区域内的樱桃数量。

2016-10-09 16:13:26 326

原创 Gym 100851A - Adjustment Office(模拟)

题意:给出一个n行n列的表,进行查询一行或一列的值,每个单元格的值为行号与列号的和,每一行或一列被查询一次后都置为零。挺水的题,记录一下每一行每一列剩下的列号或者行号的总和,以及剩下的个数,并进行跟新就好了。#include #include #include using namespace std;int id[2][1000010];long long r, c, nr, n

2016-09-21 17:18:37 406

原创 UVALive 6853 - Concert Tour (dp)

题意:有s个月,c个城市,给出第几个月在第几个城市举办演唱会的收益,并且给出从一个城市到另一个城市的成本,求最大的收益。到达第一个城市不需要成本。用dp[i][j]表示第j个月在第i个城市举办演唱会可以得到的最大收益。dp[i][j] = max(dp[i][j], dp[k][j - 1] + id[i][j] - mp[k][i]);k是上个月举办演唱会的城市。#include

2016-09-21 17:07:37 250

原创 UVALive 6852 - Blanket

题意:有k个毛毯,n个位置,每个毛毯有两个参数a、b,表示对b取模小于a的位置可以被覆盖,问被覆盖次数为1,2……k的点依次有多少个。输入数据量很大,但是a和b都很小,一共只有256种可能,所以可以先记录每一组a,b出现多少次,然后直接模拟就可以了。#include #include #include using namespace std;int id[1000020];int

2016-09-21 16:49:11 1129

原创 UVALive 6847 - Zeroes

题意:输入l,r,如果n的阶乘结果末尾有i个0,问l每个0都可以拆分成一个5*2,每两个数字就有一个是2的倍数,每5个数字才有一个是5的倍数,所以有多少个0都是由有多少个因子5决定的,每五个数一个,那么从1到n就有n/5个不同的i。如果遇到25,125这样n的多少次方,i会跳过一些值,但是不同i的个数仍然是增加1。所以这个题就非常简单了……#include #include #includ

2016-09-21 16:14:53 407

原创 UVaLive 6844 - Combination

题意:输入一个low、high,求。这个题可以通过暴力小数据发现规律。对于一个数字n,如果这个数字的二进制有i个1,那么的值为2的i次方。然后用类似数位dp的方式统计结果。对于(1#include #include #include using namespace std;typedef unsigned long long ll;ll pw[100];ll CCC(int u

2016-09-21 16:03:34 422

原创 hdu 5900 - QSC and Master (2016沈阳网络赛)区间dp

题意:输入n组键值对,如果相邻两个键的最大公约数不为1,那么可以删除这两组键值对,并得到两个值相加的分数,问最大得分是多少。注意两组键值对删除以后会使原本不相邻的变成相邻。比较明显的区间dp,用dp[i][j]表示区间[i, j]的最大得分,对于所有的i#include #include #include #include using namespace std;typede

2016-09-21 15:41:03 262

原创 hdu 5898 - odd-even number (2016沈阳网络赛) - 数位dp

题意:如果一个数字连续的奇数都为偶数个,连续的偶数个数都为奇数,那么这个数字就是奇偶数,输入l,r,问[l, r]闭区间有多少个奇偶数。数位dp用dp[i][j][k]表示长度为i并且最高位为j的数字并且与最高位数字奇偶情况相同的连续位数为k的满足题目条件的数字有多少个,k=0表示偶数长度,k=1表示奇数长度。状态转移的条件会比较麻烦:如果高位为奇数位偶数,可以向偶数位偶数和奇数位奇数转移

2016-09-21 15:29:22 444

原创 hdu 5876 - Sparse Graph(2016大连网络赛) bfs

题意:补图就是和原图联通状态相反的图,两个点相邻那么在补图里他们不相邻给出一个图的补图,求出s到其他点的最短距离。用set存放还没有走到过的点,然后用bfs依次求到每个点的最短距离,到达一个点后就把这个点从set中删掉,这样可以使bfs的复杂度非常接近o(n)。#include #include #include #include #include #include using n

2016-09-20 22:43:54 223

原创 hdu 5877 - Weak Pair (2016大连网络赛) 离散化 + 树状数组

题意:给出一棵树,n个节点,每个节点有一个权值,输入一个k,问有多少对点,满足点的权值乘积小于等于k,并且其中一个点是另一个点的祖先节点。对于每一个节点,如果这个节点的权值为a,那么找到子节点所有的权值小于等于k/a的节点数量就是满足条件的对数(a=0时就是所有子节点都满足条件)。通过树状数组对统计做一个时间优化,用dfs处理,当处理到一个节点的时候,先减去树状数组中已经有的满足条件的数量,然

2016-09-20 22:30:34 332

原创 hdu 4433(uva1631) - Locker - dp

题意:给出一个密码锁的当前状态,问最少转动多少次可以得到终止状态,每次转可以向上向下,而且转动一个位置的时候可以带动后面的一个或两个位置一块转。对于每一个位置,记录当该位置已经转完以后带动后面两个位置转动不同次数所需要的最少转动次数。#include #include #include #include using namespace std;const int MAXN = 1

2016-09-06 17:48:35 370

原创 uvalive 6609 - Minimal Subarray Length(离散化+树状数组)

题意:给出n个数,求加和大于x的最短区间的区间长度。如果前i个数字和为y,那么如果前j数字的和小于等于y-x,那么i-j就是一种可能的情况,我们对于所有的i找出前面最大的j就可以了,因为数据量比较大,用树状数组来处理前n项的最大值,但是每个数字又可能比较大,所以先离散化处理一下。#include #include #include #include #include using

2016-08-25 21:02:55 380

原创 uvalive 6600 - Spanning trees in a secure lock pattern

题意:输入n,有n*n个点,每个点与周围的8个点联通,找一共有多少种生成树。然后题意给出了一个矩阵,通过求矩阵的去掉第一行第一列的行列式的值就可以得到最终结果,对于mp[i][j],i == j的时候表示i点有多少个邻点,i != j的时候如果两个点是相邻的那么mp[i][j] = -1, 否则为0.我只能说这是一个极其恶心人的题目,题目给出的数据范围是nAC代码:#include

2016-08-25 20:45:27 233

原创 uvalive 6800 - The Mountain of Gold? 判负环

题意:给出一个图,判断能不能从0出发,再回到0,经过边的权值为负。判断图中有没有负环,并且负环上的点能回到0即可。#include using namespace std;const int INF = 0x3f3f3f3f;const int maxn = 1000 + 10;int dist[maxn];struct Edge{ int u, v, cost;

2016-08-25 11:54:28 333

原创 uvalive 6692 - Lucky Number 水题

题意:给出n个数字,用x表示一个数字最后一个比它大的数字到他的距离,求x的最大值,n最大1000,000,每个数字是1道100,000.先统计出每个数字出现最早和最晚的位置,然后对于每一个数字i,用i最后出现的位置减去[1,i - 1]最早出现位置的最小值,取这些结果的最大值即可。#include #include #include #include using namespace

2016-08-23 21:23:52 277

原创 uvalive 6693 - Flow Game - BFS

题意:N*N的矩阵,有两个1两个2,其余为点,问两个1和两个2不交叉的连起来最短路径多少,不能相连输出-1;这个题可以通过判断得到是否交叉,然后不交叉的时候直接输出曼哈顿距离之和,但是没想清楚判断条件,稳妥起见还是暴吧。先用一遍BFS找出两个1相连的最短距离,然后根据BFS得到的信息建立一条两个1相连的最短路径,将路径上的点修改成1,然后跑BFS找两个2的最短距离。这个题因为数字都在边上,

2016-08-23 20:18:36 286

原创 uvalive 6697 - Homework Evaluation - dp

题意:给出两个字符串,用第二个字符串去匹配第一个字符串,可以对第二个字符串进行删除或插入操作,一位匹配成功得8分失败-5分,如果插入或删除,对于连续插入或删除m个数减(4+m * 3)分。求最终得分的最大值。用dp[i][j]表示第二个串的第i位和第一个串的第j位匹配得分的最大值,dp[i][j]可以是dp[i - 1][j - 1]继续匹配也可能是dp[i - 1][k]通过插入一段串得到或

2016-08-23 20:01:34 317

原创 ural 2065 - Different Sums

题意:给出n、m,要求用m个不同的数字组成n个数字的序列,使得不同区间不同的区间和的不同数值数量最少。前m个数字0,1,-1,2,-2……剩下的部分全补0.#include #include #include #include using namespace std;int main() { int n, k, i, j, m; while(~scanf("%d%

2016-08-23 12:13:14 326

原创 ural 2068 - Game of Nuts 博弈水题

题意:给出n个奇数,每个大于1的奇数又可以分解成三个奇数,Daenerys先分,最先不能继续分的输,问谁赢。每个数字x总能分解x/2次,把可以分解的总次数加起来判断奇偶就可以了。#include #include #include using namespace std;int main() { int n, i, a; while(~scanf("%d", &n)

2016-08-23 12:07:24 295

原创 ural 2069 Hard Rock

题意:给出n条纵向的路,m条横向的路,走过路径的最小边权值为路径权值,求最大路径权值。数据量很大,但是其实只有四种情况有可能走出最有解:第一条横向和最后一条纵向,第一条纵向和最后一条横向,最大横向和第一条、最后一条纵向,最大纵向和第一条、最后一条横向,找最大值就可以了。#include #include #include #include using namespace std;

2016-08-23 11:59:41 218

原创 ural 2070 - Interesting Numbers

题意:输入l, r,求[l, r]区间上素数的个数以及有非素数个因数的数字之和。题目数据范围比较大,最大10的12次方,符合题意的数字不好找,但是不满足题意的数字比较好找,而且数量很少,不符合的是有素数个因数的数字,推了一下发现只有素数的素数减一次方是不满足的,所以直接找这些数字就可以了。#include #include #include using namespace std;

2016-08-23 11:52:29 623

原创 ural 2072 - Kirill the Gardener 3 - dp

题意:有n朵花,要求按照权值递增的顺序浇水,浇水一次话一个时间,走一个单位长度花费一个单位时间。一共n朵花,那么可以先计算出走路用的时间,然后加上n就是总时间,对于权值相同的所有花,就可以只考虑两个端点,这样中间的一定会路过,先走左端点还是先走右端点是不确定的,可以先按照权值大小进行排序,然后按照权值递增处理成多个不同的区间,之后用动态规划处理,dp[i][0]表示走到第i个区间左端点再走右端

2016-08-23 11:40:23 656

原创 ural 2073 - Log Files 模拟

题意:给出一个人在一场比赛的提交记录,按照格式输出,这个题基本看输入输出就能看懂题意了。算是比较简单的模拟,没什么坑,只要注意一个题AC以后再提交的时候不要修改成X就好。#include #include #include using namespace std;struct node { char nm[100], dt[20], rs[20]; void ini

2016-08-22 21:41:58 288

空空如也

空空如也

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

TA关注的人

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