自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

普通で歩む

tu gi he to

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

原创 HDU 3671 Boonie and Clyde (tarjan+割点变形)

思路:此题不是一般的求割点,而是求去掉一对点之后能否让图分开,即割点对(我这造词能力,满分)对于第一个点我们只能枚举,但是对于第二点却不必暴力枚举考虑经过删减第一个点之后的图,如果删去这个点之后剩下了一个部分,那么我们对这张图tarjan求割点,然后加入结果就好了。如果剩下了2个部分,那么考虑这两个部分中的点的个数,如果两个部分中的点都是1个,那么对结果没有贡献。如果只有一个部分是1个点,那么

2017-04-30 14:10:04 486

原创 POJ 2186 popular cows (tarjan + 缩点)

思路:有向图,边具有传递性。我们要找的是这样的点:这个点被其他所有的点所直接或传递指向,即这个点是所有牛所崇拜的。通过对数据的观察,直接否决了暴力的可能性。因为要暴力传递性,所以至少要 n3n^3 的复杂度。首先我们考虑图中存在的强联通分量,对于强联通分量中的点,每个点都能通过传递性到达此联通分量中的任何一点,即可以将这个强联通分量视为一个点(缩点),而这个点的出边即连向其他的缩点。考虑经

2017-04-29 22:26:57 86

原创 HDU 1269 迷宫城堡(tarjan强联通分量)

思路:tarjan求强联通分量个数代码:#include <iostream>#include <cstdio>#include <algorithm>#include <string.h>using namespace std;int ans;//代表着强联通分量的个数//链式前向星const int maxn = 10010;//最大的点的个数int head[maxn];stru

2017-04-29 19:04:47 262

原创 HDU 4417 Super Mario (树状数组)

思路:首先我们先回顾一下树状数组。树状数组的的直接目的即区间求和(logn)。但由于具有logn单点修改的功能使得区间求和更为方便。对于这道题来说,我们先对m个询问中的h升序排序,利用了<=h1的元素一定也<=h2这个递推式,然后将n个数也排序,但同时需要记录这些数原本的位置信息。对于每个询问,我们将符合hi条件的点加入树状数组,注意,我们是将这个点原来的位置加入树状数组(数量是1)。这样构造

2017-04-29 14:19:43 280

原创 HDU 4414 Finding crosses(爆搜)

思路:枚举十字路口中心的位置。判断上下左右是否分别满足条件。#include <iostream>#include <cstdio>#include <string.h>#include <cmath>#include <map>#define eps 1e-9typedef long long int lli;using namespace std;int ma[60][60];c

2017-04-23 20:00:03 249

原创 HDU 4405 Aeroplane chess(dp)

思路:概率dp 相同的局势的期望一样。 所以从后向前推。#include <iostream>#include <cstdio>#include <string.h>#include <cmath>#define eps 1e-9typedef long long int lli;using namespace std;int fl[100100];double dp[10010

2017-04-23 10:50:00 75

原创 HDU4586 Play the Dice (期望)

思路:假设这样一组样例, 6 1 2 3 4 5 6 1 3 设当前的期望为ans,可以很自然的得到这个式子 ans=1/6(1+2+4+5+6)+1/6(3+ans) ans = 1/6 (1+2+4+5+6) + 1/6(3+ans) 即:六分之一的概率扔到3,并且在扔一回,然而这时候我们会面对跟现在一样的状态,所以期望是一样的。所以解方程即可。坑点:1,n和m相等时不能直接除,会

2017-04-15 21:22:07 230

原创 HDU 4596 J - Yet another end of the world(数论)

题意:给你n个 xix_i,yiy_i,ziz_i,让你判断是否存在一个数num, 满足形如下式的条件,满足的话则代表此飞船在这个虫洞的作用力下,那么这个num号飞船不能再同时再处于另一个冲动的引力下,否则会被潮汐力撕碎。。。现在问你是否有被撕碎的危险。 y<=num(modxi)<=z y <= num(mod x_i) <= z思路:遍历两两组合的全部。对于任意的两个有如下的特点。 numm

2017-04-15 20:49:25 304

原创 CodeForces - 544C (完全背包)

思路:dp[i][j][k] = n; 表示第i个人,写了j行代码,有k个bug的有方案数n。 dp[i][j][k] = dp[i-1][j][k](这个人没写代码) + dp[i-1][j-1][k-a[i] ](这个人写代码和bug了); 注意初始条件。#include <iostream>#include <cstdio>#include <string.h>typedef lon

2017-04-15 11:02:34 514

原创 CF 404 div2 (思路题 推公式 精度)

题目连接思路:当n小于m时,每天都必补满,所以直接输出第n天即可。 当n大于m时,比如第m+1天,此时剩下的是n-m,之后每天则是递减1,2,3,4,5。。。一个等差数列(因为是先增m再减,所以每天就相当于直接减一个xx-m)。 代码:#include <iostream>#include <cstdio>#include <string.h>#include <queue>#incl

2017-04-02 19:06:06 327

空空如也

空空如也

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

TA关注的人

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