自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ONE MORE TRY

把该做的做好就好了!

  • 博客(11)
  • 问答 (2)
  • 收藏
  • 关注

原创 CodeForces877D【BFS】

思路: BFS本身已经决定先搜到的位置肯定小于等于后搜到的位置层数(步数)。 那就直接break呗~ 然后就一直wa49… 完全不知道发生了什么,改改就过了。。//#pragma comment(linker, "/STACK:102400000,102400000")#include <stdio.h>#include <string.h>#include <iostream>#i

2017-11-30 00:07:53 551

原创 Lightoj1147【二进制表状态】

思路: dp[ i ]表示价值i需要多少人。//#pragma comment(linker, "/STACK:102400000,102400000")#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#includ

2017-11-29 14:48:07 523

原创 CodeForces601D【单调栈维护最大值】

思路: 区间最值一定是相邻的差值的绝对值。预处理差值绝对值,预处理以每个位置的值为最大值能延伸的最长距离(单调栈处理)。 然后每次询问就是枚举区间,计算每个值的贡献。//#pragma comment(linker, "/STACK:102400000,102400000")#include <stdio.h>#include <string.h>#include <iostream>#

2017-11-29 14:09:07 700

原创 POJ2777【线段树】

一直以来就是这么写,很稳。 大晚上先贴个代码吧,下次给加注释。const int Maxn = 1e5 + 10;struct Seg{ int Left, Right; int col; int _col;}node[Maxn<<2];void pushUp(int num){ node[num].col = node[num<<1].col|node[num<

2017-11-27 00:32:16 458 1

原创 CodeForces770C【强连通分量+DFS序】

思路: 显然按照他的意思建图肯定不行。 对于u所需要先解决的v[], 建边 u -> v[], 然后就是判断一下每个main 课程是否在一个环里,或者是不是他需要先修的课程在环里,这样子就不满足。 然后我就很爆炸,窝很蠢地想到了Tarjan,然后就处理了一下那些强连通分量,然后就是用来判断是不是在环里,不满足。 然后就是对每个main 课程 DFS搜,然后就好啦,然后智障的窝第一次发现这个拓

2017-11-23 18:36:11 641

原创 最大流建图习题

Lightoj 1154题意: 二维坐标上有N(<=100)个点, 每个点有两个值,一个值是在这个点上的企鹅数量,另一个值是能从这个点跳到另一个点的最大数量,一个点能跳的点的距离<=D, 现在让你求存在哪些点可以使得所有企鹅集合。 思路: 利用D值可以对所有点之间建边,容量就是能跳的最大数量。 具体建图呢?比如u有多个点a,b,c可以到达,肯定不可能是u和a,b,c都连一条边然后容量设置成限

2017-11-23 13:36:37 1049

原创 Lightoj 1158【记忆化+状压DP】

思路: 以前还对取膜余数挺敏感的,现在好菜啊! DP[ i ][ j ]代表在状态i下,这个状态%d=j值的个数。 那么不就是个状压DP呀!啪啪啪敲!memset(dp, 0, sizeof(dp)); int Max = (1<<n) - 1; dp[0][0] = 1; for(int i=0;i<=Max;i++){ for(int k=0;k<m

2017-11-22 21:36:01 450

原创 Lightoj1577【数位DP】

题意: 求两字符串LCS的个数。 思路: LCS的状态转移应用吧,如果当前字符种类相同的,dp[pos1][pos2]肯定是最长的。 根据求LCS的DP状态转移回溯,如果枚举那些位置往前回溯肯定GG。 考虑对于两个字符串每个位置上的字符,枚举字符种类,那么如果当前字符种类相同的,dp[pos1][pos2]肯定是最长的,那么就可以往前再找。 所以预处理一下对于每个位置,每个字符之前离当前

2017-11-22 14:02:02 377

原创 Lightoj1156【二分+贪心】

题意:略。 思路: 以为我这个思路是大众思路原来不是。。。百度了一下什么最大流(膜拜熟练应用最大流选手) 二分很显然对吧,然后我就想二分完DP嘛,好像不行,感觉怎么搞都是你已经把答案搞出来的感觉,所以二分显得没有意义,想想贪心吧~ 然后突然一想,其实你想啊,走回来和走过去是一样的对吧,无非就是有些不能一起走。那么我们先在起始位置(0)放两个人,然后一起往前走,首先肯定是走到一个能走的最远无约

2017-11-21 17:32:58 374 1

原创 Lightoj1120线段树扫描线【模板】

算是最基础的线段树扫描线了把。注意横坐标区间如果是[1, 3]实际长度是2,维护是两个点而不是3个。#include<stdio.h>#include<string.h>#include<math.h>#include<queue>#include<vector>#include<map>#include<set>#include<algorithm>#include<list>u

2017-11-16 18:27:40 376

原创 CodeForces505B【floyd】/C【记忆化搜索】

CodeForces505B题意:有M种不同颜色的线,给出这样的图,然后q个询问,问两点可以由多少种线连接。思路:其实这题很水,也是不必写题解的。 但是呢!wa了两遍woc… 写这题主要也是看到了大哥曾经写wa了。。然后他还没补!(真是怠惰 然后我直接就是100次floyd,然后wa了!!!不讲道理啊!这都wa! 然后实在想不出,也不想去打什么BFS/DFS/并查集,然后就去题解看看呗,然后

2017-11-12 14:29:04 588

空空如也

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

TA关注的人

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