自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

九野的博客

新窝:cygmasot.com

  • 博客(64)
  • 资源 (1)
  • 收藏
  • 关注

原创 Codeforces 104C Cthulhu dfs暴力 || 点双连通缩点

题目链接:点击打开链接题意:给定n个点m条边的无向图问图中是否存在 有且仅有一个简单环和一些树,且这些树的root都在这个简单环上。瞎写了个点双。。==#include #include #include #include #include #include #include using namespace std;#define N 105#define M

2014-08-31 22:49:24 1629

原创 Spoj 1716 Can you answer these queries III 线段树 单点修改 区间求最大子段和

题目链接:点击打开链接== 原来写1的时候已经把更新函数写好了。。#include #include #include #include #include #include #include using namespace std;#define N 50050#define Lson(x) tree[x].l#define Rson(x) tree[x].r

2014-08-31 19:11:12 1650

原创 Codeforces 101B Buses 排序+树状数组

题目链接:点击打开链接当转移[l,r] 区间时, 若[0, r-1] 这里的区间都已经转移完毕时是最优的,所以按右端点升序,同理右端点相同时左端点升序,然后树状数组维护一下前缀和。#include #include #include #include #include using namespace std;#define N 100005#define mod 100000

2014-08-31 17:40:53 1349

原创 Spoj 1557 Can you answer these queries II 线段树 任意区间最大子段和 不重复数字

题目链接:点击打开链接每个点都是最大值,把一整个序列和都压缩在一个点里。#include #include #include #include #include using namespace std;#define N 100005#define Lson(x) (x<<1)#define Rson(x) (x<<1|1)#define L(x) tre

2014-08-31 13:39:57 1614

原创 Codeforces 462D Appleman and Tree 树形dp

题目链接:点击打开链接#include #include #include #include #include using namespace std;#define N 300100#define mod 1000000007typedef long long ll;ll dp[N][2]; //dp[i][1]表示i点已经归属于某个黑点的方法数//dp[i][

2014-08-30 21:57:03 1703

原创 Codeforces 463E Caisa and Tree dfs+分解质因素

题目链接:点击打开链接题意:给了一棵树每个点有点权操作1 : 1 u 表示询问 gcd(Valueof(u), Valueof(v) ) != 1 的所有v 点中深度最大的点[ v是 path(u, root); && v!=u ]操作2 : 2 u w 修改点权因为操作2的个数不超过50个,所以每次更新点权后都把所有答案预处理一遍。这样回答是O(1

2014-08-30 20:26:49 2416 2

原创 HDU 4973 A simple simulation problem. 线段树

题意:给定n长的序列 m个操作序列默认为 1, 2, 3···n操作1:D [l,r] 把[l,r]区间增长 :( 1,2,3,4 进行 D [1,3]变成 1,1,2,2,3,3,4 )操作2:Q [l,r] 问区间[l,r] 上出现最多次数的数 的次数线段树,维护每个区间的size 和叶子节点中最大的size开始二分查找size的前缀和,逗了一场。。其实直接dfs就好了

2014-08-21 19:41:51 1579

原创 HDU 4975 A simple Gaussian elimination problem. 网络流+矩阵上的dp

随机输出保平安啊和hdu4888一个意思,先跑个网络流然后dp判可行。==n^3的dp过不了,所以把n改成200。==因为出题人没有把多解的情况放在200*200以外的矩阵。#include #include #include #include #include using namespace std;const int MAX_N = 1207;const in

2014-08-21 17:53:30 2787 7

原创 HDU 4974 A simple water problem 模拟(水

水题。#include #include #include #include using namespace std;typedef long long ll;priority_queue q;int main() { int T, cas = 0; scanf("%d", &T); while(T-- > 0) { int n;

2014-08-21 17:51:01 1403

原创 HDU 4972 A simple dynamic programming problem

随机输出保平安#include #include #include #include #include using namespace std;typedef long long ll;const int N = 100005;int a[N];int main() { int T, cas = 0; scanf("%d", &T); while(T-

2014-08-21 17:49:27 1829 1

原创 HDU 4971 A simple brute force problem. 强连通缩点+最大权闭合图

题意:给定n个项目,m个技术难题下面一行n个数字表示每个项目的收益下面一行m个数字表示攻克每个技术难题的花费下面n行第i行表示第一个数字u表示完成 i 项目需要解决几个技术难题,后面u个数字表示需要解决的问题标号。下面m*m的矩阵(i,j) = 1 表示要解决j问题必须先解决i问题。(若几个问题成环,则需要一起解决)问:最大收益。思路:先给问题缩点一下,

2014-08-21 17:45:58 1357

原创 Codeforces 460C Present 二分答案

题目链接:http://codeforces.com/contest/460/problem/C题意: 给定一个n长的序列每次可以给w长的区间内的数增加1最多可以增加m次使得 最后结果中最小的数 最大问这个最小的数是多少二分答案判可行。#include #include #include #include #include using na

2014-08-21 11:39:04 1840 1

原创 Codeforces 97D Robot in Basement bitset+模拟

题目链接:点击打开链接题意:每个点有一个机器人(.),下面是一些指令,每次发出指令(一个字母)所有机器人都会执行移动。当机器人到E点就会离开。若机器人前方是'#' 或者边界则停留原地。一个方格可以站多个机器人。bitset模拟。。#include #include #include #include using namespace std;char

2014-08-20 18:41:47 1446

转载 bit-set用法

std::bitset是STL的一部分,准确地说,std::bitset是一个模板类,它的模板参数不是类型,而整形的数值(这一特性是ISO C++2003的新特性),有了它我们可以像使用数组一样使用位。下面看一个例子:#includestd::bitset bs;//它是一个模板,传递的参数告诉编译器bs有8个位。我们接着看上面的代码,通过上面两行的代码我们得到

2014-08-20 18:12:01 2464

原创 HDU 4970 Killing Monsters 线段树 || 树状数组

。。卡常数T^T#include #include const int MAX_N = 100007;#define lson idx<<1#define rson idx<<1|1struct Node { int l, r; long long add, sum;};int n, m, k;long long f[MAX_N];long long

2014-08-19 19:59:21 1054 2

原创 HDU 4961 Boring Sum 构造题

用一个数组c, c[i]表示i这个数出现的最近数字是几。那么当加入一个6,则 c[1] = c[2] = c[3] = c[6] = 6;==最近怎么都要开挂啊。。#include #include #include #include using namespace std;typedef long long ll;const int N = 100005;inline

2014-08-19 19:47:08 1208

原创 HDU 4968 Improving the GPA 模拟

最小时就都当69,最大时都当85。。#include #include #include #include #include #include #include #include using namespace std;#define N 5000int av, n;int s[N];double go(int x){ if(x< 60)return

2014-08-19 19:39:49 1234 2

原创 HDU 4965 Fast Matrix Calculation 矩阵快速幂

乘法分配率 A^(N*N) * B^(N*N) = A*B*A*B*A*B*A··· = A*(B*A)*(B*A)···然后里面的结果就是6*6的格子,然后快速幂一下。#include #include #include using namespace std;typedef long long ll;typedef vector vec;typedef vector

2014-08-19 19:33:34 1238

原创 HDU 4960 Another OCD Patient 区间dp

区间dp。。T^T一直感觉是n^3,看了题解看来是数据水了么。。#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #define ll long long#define inf 1e8inline int min(int a, int b){return a<b?a:b;}

2014-08-19 19:28:12 1193

原创 HDU 4966 GGS-DDU 最小树形图

题意:给定n个技能,m个限制下面是每个技能满级的级数开始每个技能都是0级。m个限制(c,l1) (d,l2) cost若c技能已经>=l1级,那么把点亮d技能 从0级一路点到l2级的花费是cost。。他说的好有道理,我竟无言以对 _(:зゝ∠)_最小树形图,用0做根,触发每个技能的0级花费是0若已经点亮技能的x级,则点亮该技能的x-1级花费就是0#inclu

2014-08-19 19:24:42 1305

原创 SPOJ 1043 Can you answer these queries I 求任意区间最大连续子段和 线段树

题目链接:点击打开链接维护区间左起连续的最大和,右起连续的和。。#include #include #include #include #include #include #include using namespace std;#define N 50050#define Lson(x) tree[x].l#define Rson(x) tree[x].r#defi

2014-08-18 23:16:45 1966 1

原创 Codeforces 76 Plus and xor 两数异或相当于不进位加法

题目链接:http://codeforces.com/problemset/problem/76/D求 一个解(x,y) 使得1、 x+y = A2、 x^y = B若有多解求x最小的一个无解则输出-1因为x^y是不进位的加法所以 A的二进制中的 进位得到的1 可以由 A-B 得到然后若整除2 那么就有解 ,解就是 (A-B)/2若不能则无解#include

2014-08-18 19:21:06 1863

原创 LightOJ 1038 Race to 1 Again 期望 记忆化dp

题目链接:点击打开链接1038 - Race to 1 AgainPDF (English)StatisticsForumTime Limit: 2 second(s)Memory Limit: 32 MBRimi learned a new thing about integers, whic

2014-08-18 00:17:12 2625

原创 Codeforces 38G Queue 伸展树

题目链接:点击打开链接题意:给定n个人来排队每个人有2个参数,身份优先级和脸皮厚度 ==来的那个人会排到队尾如果这个人的优先级比他前面那个人的优先级大就会和前面那个人交换位置。交换一次脸皮厚度减1, 一直交换到队头或者脸皮厚度为0交换完成后下一个人才会到来。问:队伍最后的情况(从队头到队尾依次输出每个人的编号)思路:splay维护子树的最小值。

2014-08-18 00:13:06 1994

原创 Codeforces 444C DZY Loves Colors 线段树

题目链接:http://codeforces.com/contest/444/problem/C线段树水题。。#include #include #include #include #include #include #include #include using namespace std;#define ll long long#define L(x) (x<<1)

2014-08-17 10:23:32 1291

原创 UVALive 4730 Kingdom 线段树+并查集

题目链接:点击打开链接题意见白书P248思路:先把读入的y值都扩大2倍变成整数然后离散化一下用线段树来维护y轴 区间上每个点的 城市数量和联通块数量,然后用并查集维护每个联通块及联通块的最大最小y值,还要加并查集的秩来记录每个联通块的点数然后就是模拟搞。。T^T绝杀失败题。。似乎数组开小了一点就过了,==#include#include#includ

2014-08-16 23:59:23 1598

原创 POJ 2559 Largest Rectangle in a Histogram RMQ || 单调栈

题目链接:点击打开链接题意就是求最大面积枚举每个柱子作为起点然后二分两边长度。 求个区间最值。#include#include#includeusing namespace std;#define ll long long#define N 100100inline bool rd(int &n){ int x = 0, tmp = 1;

2014-08-16 17:08:04 1214

原创 Codeforces 77C 树形dp + 贪心

题目链接:点击打开链接题意:给定n个点,每个点的豆子数量下面是一棵树再给出起点每走到一个点,就会把那个点的豆子吃掉一颗。问:回到起点最多能吃掉多少颗豆子思路:树形dp对于当前节点u,先把子节点v都走一次。然后再往返于(u,v) 之间,直到u点没有豆子或者v点没有豆子。dp[u] 表示u点的最大值。a[u] 是u点剩下的豆子数。#inc

2014-08-15 16:44:44 1349

原创 HDU 4952 Number Transformation 规律题

打表可以知道到后面增量都一样了,,推论就是  i 和 i+1 互质#include #include #include #include using namespace std;typedef long long ll;const ll mx = 120000;int main() { int cas = 0; ll x, k, y, dis, i;

2014-08-14 17:54:41 1161

原创 HDU 4946 Area of Mushroom 共线凸包

题意是在二维平面上给定n个人每个人的坐标和移动速度v若对于某个点,只有 x 能最先到达(即没有人能比x先到这个点或者同时到这个点)则这个点称作被x占有若有人能占有无穷大的面积 则输出1 ,否则输出0思路:1、把所有点按速度排个序,然后把不是最大速度的点去掉剩下的点才有可能是占有无穷大的面积2、给速度最大的点做个凸包,则只有在凸包上的点才有可能占有无穷大

2014-08-14 17:49:47 1536

原创 BNU 34978 汉诺塔 求期望步数

题目链接:点击打开链接我们用dp[i]表示 随机i个盘子时,恢复原位需要的步数的期望f[i]表示i个盘子下普通的汉诺塔玩法的步数既然是随机,那么我们就认为是在上一次随机的情况下,把第n个放到任意一根柱子的底部那么若随机放到了第3个柱子,则步数就是dp[n-1]若放到了第1根柱子,则先把前面的n-1个盘子移动到第2根柱子上,花费是dp[n-1]然后再把n盘子移动到

2014-08-14 00:02:26 1709

原创 BNU 34975 剪纸 折线划分平面问题 大数模拟+规律

最多的情况就是每个直线和当前平面的所有直线都相交设当前有x根直线则加入一个type0的直线就能产生 x个交点,两个交点间的线段可以把一个平面划分成2个就能增加x + 1个平面再推广 若加入typeY 的直线 先让Y++,表示加入直线的根数就能增加 (x + 1) * Y -  (Y-1)加完后 平面上的直线数就增加了Y :即 x+=Y

2014-08-13 23:52:04 1124

原创 Codeforces 75D Big Maximum Sum 最大子段和 dp

题目链接:点击打开链接题意:第一行 n mn个vector下面n行 第一个数字u表示vector 的大小,然后后面u个数字给出这个vector最后一行m个数字表示把上面的vector拼接起来得到一个大序列,求这个大序列的最大子段和先预处理出每个vector的最大子段和,左起连续最大,右起连续最大,所有数的和然后dp 一下。。#include

2014-08-13 16:44:46 1238

原创 HDU 4944 FSF’s game 规律题

据说推出了公式却没有写出来,sigh#include #include #include using namespace std;#define mod 4294967296#define N 500010typedef long long ll;ll dp[N], gc[N];void go(){ memset(gc, 0, sizeof gc); f

2014-08-12 21:49:39 1042

原创 HDU 4941 Magical Forest _(:зゝ∠)_ 模拟题

模拟大法保平安_(:зゝ∠)_ #include #include #include #include using namespace std;const int N = 1;struct node{ int x, y, val; node(int a=0,int b=0,int c=0):x(a),y(b),val(c){} bool operator<(

2014-08-12 17:19:33 1152

原创 HDU 4939 Stupid Tower Defense dp

因为瞬间伤害的塔一定是放在终点端的,所以枚举这种塔的个数然后就能把n^3变成n^2了#include #include #include typedef long long ll;const int N = 1500 + 2;ll d[N][N]; // j = 3;int Tt = 0, n, x, y, z, t;inline void up(ll& a, ll

2014-08-12 17:17:23 1256

原创 HDU 4940 Destroy Transportation system 规律题

答案只有2种情况,所以ans = rand()%2; if(ans)puts("happy") else puts("unhappy");==想过无源汇的网络流,还是比较麻烦的,然后没往下想。。。设s点集有一些点,多加一个点一定是y增加比较快_(:зゝ∠)_然后设s点集只有一个点#include #include #include #include us

2014-08-12 17:14:51 1620 1

原创 HDU 4937 Lucky Number 规律题_(:зゝ∠)_

把所有合法的进制打出来会发现合法的进制都是在 n/3 n/4 n/5的边上然后暴力边上的进制数。。#include #include typedef long long ll;bool ok(ll x, ll y) { ll v; while (x > 0) { v = x % y; if (v != 3 && v !=

2014-08-12 17:05:11 1238

原创 Codeforces 458C Elections 贿赂选票抢主席! 线段树

题目链接:点击打开链接题意:给定n张选票,每张选票有2个参数,第一个参数表示这张选票选的人第二个参数表示如果让这张选票改为选0号 的花费问:使得0号的选票是最高的(不能有和0号相同)的最小花费枚举0号的最终选票那么已知0号最终选票,则有些人选票比0号大的,那些票都要买下来。如果买完了还是达不到 最终选票,就从所有剩下的选票里找前k小的。用线段树求前k小的数的

2014-08-11 14:13:43 1665

原创 Codeforces 67C Sequence of Balls 编辑距离 dp

题目链接:点击打开链接有一个交换操作比较特殊,所以记录每个点距离自己最近的那个字符的位置然后交换就相当于把第一行要交换的2个字符 之间的字符都删掉把第二行要交换的2个字符 之间的字符都插入第一行的2个字符之间然后再进行交换。#include #include #includeusing namespace std;#define inf 10000000#define

2014-08-10 17:29:44 1169 1

九野的模版3.15.10.pdf

http://blog.csdn.net/acmmmm

2015-12-19

空空如也

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

TA关注的人

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