自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一些实用的模板

1°FLOYD判最小环注:包含基本的FLOYD算法。最好写的单源最短路径算法。但时间复杂度O(n^3),n=1000基本就用不了了。。。void floyd(){ int MinCost = inf; for(int k=1;k<=n;k++){ for(int i=1;i<k;i++) ...

2018-06-08 23:44:48 216

原创 写代码中需要注意的事项!(停更 有些表达很不准确懒得改了)

1. 数组不越界、下标不能取负数(特别注意取%时进行加减运算时可能产生的数组越界问题)(循环是也容易出现问题)2.n<=2*10^9都可以放心使用int的3.dp时间复杂度在无优化的情况下通常为O(n^2),因此应根据情况合理使用搜索4.数组开到10^9会爆掉。因此可以使用map进行代替。没有赋值(?)的map初始值为05.(尤其是图论题)带空格的输入一定用get,且第一行若...

2018-05-07 22:22:53 2627

原创 Atcoder-4434 Distance Sum

https://arc103.contest.atcoder.jp/tasks/arc103_d?lang=en题意:要求构造一棵n个节点的树,给定一个数组D,要求该树每一个标号为i的点满足到其他所有点的距离和等于D[i]。2≤N≤100000, 1≤D[i]≤10^12, D[i]are all distinct.解法:首先我们应该从每个节点的d和它的父亲节点的d之间的关系...

2019-09-29 22:18:14 194

原创 Codeforces-85D Sum of Medians

题目大意:对于一个每个数最多出现一次的序列,可以有add del两种修改和查询三种操作。对于每个查询操作,输出该序列排序后线段树每个区间分别维护0 1 2 3 4五种余数的位置上数的和。注意这里的位置是相对于每个区间的而非整个序列。另外,还需维护每个区间中当前存在的数字的个数(cnt数组)。这一步的作用是在sum转移时,对于每一个sum[v][i],从右子树转移时不能直接用sum[rc][...

2019-05-04 19:01:08 209

原创 Codeforces-834D The Bakery

题目大意:将n个蛋糕装进k个盒子里,令v为每个盒子中蛋糕种类数的和,求v最大值。最暴力的dp:f[i][j] 第i个蛋糕作为第j个盒子中最后一个的最大的v。这个复杂度显然很高,就算我们可以O(1)处理一个区间内的种类数,也需要O(n^2*k)的复杂度。显然不行。还是观察前后转移的关系。对于每个蛋糕我们维护一个lst值,表示上一个相同的蛋糕出现的位置。那么对于每个f[i][j],我们将f[l...

2019-05-04 18:36:34 190

原创 Codeforces-1000F One Occurrence

题目大意:多次查询一个最长可达1e5的数列中指定区间内只出现一次的数。这是一道线段树题。首先想到的是对于每个区间维护其中每个元素的下一个元素出现的位置中最大的一个。nxt维护当前位置的下一个数字相同的位置。每次query返回该区间的线段树值即可。因为要求的是数字,所以线段树不仅要维护当前区间最大的nxt,还要维护nxt最大的这个位置。(ps程序中的nxt和这里的描述有些出入,nxt[i]维护的...

2019-05-04 18:11:54 460

原创 Topcoder-10524 BrickPuzzle

图很小,考虑状压dp。每一个位置只与前面一个位置的dp值有关,因此可以使用滚动数组优化空间。因为每一个方块的放置最多影响到下一行往右两个的位置,所以mask大概可以开到25位,空间是比较吃紧的,所以使用哈希表进行存储达到空间上的优化。状压dp一向是挺难写的,对代码能力要求较高,具体见代码吧。。#include<bits/stdc++.h>using namespace st...

2019-04-05 16:45:48 217

原创 P1941 飞扬的小鸟[NOIP2014提高组]

前50分显然是非常水的。甚至能用搜索过。#include<bits/stdc++.h>using namespace std;#define pb push_back#define fi first#define se second#define ll long long#define pq priority_queue#define mp make_pair#...

2019-04-05 16:34:52 229

原创 Codeforces-3D Least Cost Bracket Sequence

首先需要明确的是括号序列合法的条件:如果令左括号为1,右括号为-1,为这个1 -1序列到第i个位置的前缀和,那么必须保证对于每一个i,的值都是非负的,且这道题首先想到的是dp的做法。表示考虑到第i个位置左括号与右括号差为0的情况。转移也是非常简单的。但时间空间似乎都是不太行的。因为dp状态跑不满所以侥幸心理尝试了一下,失败。评测结果为mle 31,正确性应该是有保障的。#incl...

2019-04-05 16:11:25 190

原创 SCU-3073 Painting the balls

鬼知道这破题是要写while (scanf("%d%d",&n,&m))啊。。。调了半天 气死我了首先这道题朴素的写法是非常显然的。由于只有最近的两次涂色具有后效性,可以得出如下状态:代表涂第i个且上一个涂的是第j个的最小代价它是由的最小值转移过来的但是如果未经任何优化的话空间复杂度为,时间复杂度也为(跑不满),基本是不太可能过去的。(至少我写t了)然后考虑优化...

2019-03-17 17:00:01 131

原创 ZOJ-3463 Piano

状态很好想,表示考虑到第k个音符,左手在右手在的最小花费。转移也非常简单。每次转移的时候只需要枚举该音符的左右9个位置就行了。同时判断一下该音符是否已被另一只手占据,如果是则应不考虑用这只手弹那个音。(然而不判断似乎也能过?不太清楚了)复杂度#include<cstdio>#include<math.h>#include<iostream>u...

2019-03-17 14:28:58 151

原创 UOJ-311 逛公园

//好久不见。上上周忙于加试,上周又不幸因病住院,我也很无奈啊。首先我们注意到k的值非常小,最大也只能达到50,复杂度一定与它有关。然后又是需要取模的计数问题。考虑dp。首先是本人写的很丑的非常慢的解法:首先我们跑dijkstra处理出两个数组,分别维护从起点和终点到达该点的距离。dp状态:表示到第个顶点路径长度比从起点到该点最短路长的方案数。转移很简单,对于每一个枚举以为...

2019-03-17 14:13:32 212

原创 Codeforces-(此题题号有误我也不知道是啥了。)

//好久没写博客了,最近脑子感觉非常不好使。个人认为写博客是提升总结的一个重要途径,于是我又回来了。题意要求使每条边两端的顶点填上的值和为奇数,则很容易想到如果一端是奇数,则另一端只能是偶数,符合题意的构造方式必须是奇偶相间的。那么题目转化为检查题目中所给图是否为一个二分图,设将顶点集V分为的两个集合大小分别为cnt0,cnt1,那么该图的方案个数为。因为可用的奇数有2个,偶数只有1个,所以大...

2019-02-17 12:29:23 102

原创 P2752 [USACO4.3]街道赛跑Street Race

这题也A了好久啊……(可能是我太菜了看到这道题第一眼是懵的,但发现数据范围很小,稍微放轻松一些第一题比较好解首先我萌可以将必经之路这样理解:如果从起点到达终点必须经过它,辣么如果删掉这个点,这个图就不连通了!因此我萌枚举每个点 进行bfs(对于点的删除处理方法很多,这里窝的方法是在bfs前就把该点的vis设为true,酱紫似乎很好写呢,也不会浪费时间复杂度)----------...

2018-07-03 21:28:18 369

原创 P2701 [USACO5.3]巨大的牛棚Big Barn

感觉这类dp必须要掌握啊。。。小蒟蒻似乎已经是第二次做到类似的题了。但还是没有及时想到dp。。。(窝怎么这么菜哇。。。。。。dp[i][j]表示右下角为(i,j)的最大正方形的边长。状态转移方程:dp[i][j]=min(dp[i-1][j-1],dp[i][j-1],dp[i-1][j])+1至于为什么嘛。。。可以抽象的理解一下。(感觉理解并不困难??)那么上代码啦。...

2018-06-08 23:36:34 244 3

原创 一些应当掌握的数论知识&定理(持续更新)

1. 若 \gcd(a,b)=1gcd(a,b)=1 ,求k(max)≠ma+nb(k,a,b,m,n为正整数)    k(max)=ab-a-b    小学奥数。应用:[USACO4.1]麦香牛块Beef McNuggets https://www.luogu.org/problemnew/show/P27372.皮克定理(计算点阵中顶点在格点上的多边形面积)   2S=2a+b-2,其中a表示...

2018-06-05 18:28:29 189

原创 Codeforces-940D Alena And The Heater

模拟题。题目链接:http://codeforces.com/problemset/problem/940/D输出任意一组答案,且保证有解,因此可以想到只需维护l(min)和r(max)即可接下来对条件进行分析:bi = 0ifai, ai - 1, ai - 2, ai - 3, ai - 4 > randbi - 1 = bi - 2 = bi - 3 = ...

2018-05-09 23:19:36 179

原创 Codeforces-977F Consecutive Subsequence

cf的第一场div3!并没有熬夜去打。因为想摸清大概难度。下午信息课时直接看了F题。题目链接:http://codeforces.com/problemset/problem/977/F看到标题就知道是一道最长上升子序列题。立马想到要用dp,然后立即着手去写。但是测样例是却发现出现了问题,仔细一看才发现我忽略了一个重要的条件:序列是连续的。然后很快改进代码。提交。#inc...

2018-05-07 22:20:53 115

空空如也

空空如也

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

TA关注的人

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