题解
文章平均质量分 77
_zslzx_
这个作者很懒,什么都没留下…
展开
-
搜索专题训练(2)
最开始学搜索的时候觉得dfs比较简单,现在觉得搜索里面最蛋疼的还是dfs啊。。。bfs说白了就是判个重,写熟了没多困难,A*什么的至少思考的方向比较明确吧(设计估价函数嘛)。。。dfs有各种想不到的神剪枝啊。。。(纯属我这个菜比的个人理解。)我现在的状态是:能想到的剪枝瞬间就可以想到。。想不到的剪枝不看题解的话怎么也找不到思路。当然一般我想到的剪枝都完全不够啊。。。还是找了一些dfs题原创 2014-02-21 17:08:44 · 622 阅读 · 0 评论 -
【复习+整理】【题解】noip集训考试1
在去年noip集训的时候,按照老师的要求,我每次考试都写了一份题解,但是没发到网上来。。。现在抽点空余时间整理一下发出来,也算是一种复习吧。。先发题目:----------------------------------------------------------------------------------------------------------------------原创 2014-02-17 21:25:52 · 1539 阅读 · 0 评论 -
【题解】[scoi2005]繁忙的都市
被搜索虐了一天的我。。。点开bzoj来刷题,然后就遇到了这么一道水题。。。心情一下就好了就是裸的kruskal。。。看到时限是10s我还有点怀疑我看错题了。#include#include#include#include#include#includeusing namespace std;int n,m;struct E{ int u,v,w; bool opera原创 2014-02-17 21:00:14 · 676 阅读 · 0 评论 -
【题解】[scoi2003]严格n元树
Description如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树。如果该树中最底层的节点深度为d(根的深度为0),那么我们称它为一棵深度为d的严格n元树。例如,深度为2的严格2元树有三个,如下图: 给出n, d,编程数出深度为d的n元树数目。Input仅包含两个整数n, d( 0 Output仅包含一个数,即深度为d的n元树的原创 2014-02-16 17:06:35 · 1361 阅读 · 0 评论 -
【题解】[scoi2003]字符串折叠
Description折叠的定义如下: 1. 一个字符串可以看成它自身的折叠。记作S S 2. X(S)是X(X>1)个S连接在一起的串的折叠。记作X(S) SSSS…S(X个S)。 3. 如果A A’, BB’,则AB A’B’ 例如,因为3(A) = AAA, 2(B) = BB,所以3(A)C2(B) AAACBB,而2(3(A)C)2(B)AAACAAACB原创 2014-02-16 17:17:53 · 1630 阅读 · 0 评论 -
【题解】[scoi2009]迷路
Descriptionwindy在有向图中迷路了。该有向图有 N 个节点,windy从节点 0 出发,他必须恰好在 T 时刻到达节点 N-1。现在给出该有向图,你能告诉windy总共有多少种不同的路径吗?注意:windy不能在某个节点逗留,且通过某有向边的时间严格为给定的时间。Input第一行包含两个整数,N T。接下来有 N 行,每行一个长度为 N 的字符串。第i行第j列为'0'表示原创 2014-02-16 10:40:56 · 970 阅读 · 0 评论 -
搜索题目专练(1)
因为觉得自己的搜索还很弱,于是今天就安排了这个搜索专练。。。今天做的三道题,都是dfs+剪枝。。。做得很纠结啊。。。果然还是很弱啊第一道题:[scoi2005]栅栏题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1082这题直接搜情况太复杂了,所以可以把它变成一个枚举+验证的题考虑到这样一个贪心的策略:优先满足较小的原创 2014-02-17 20:33:07 · 690 阅读 · 0 评论 -
【题解】[scoi2006]zh_tree
这题知道了方法之后是比较水。。。不过我还是太弱,没自己看出。。先要明确中序遍历的定义:先访问左子树,再访问本身,再访问右子树。。。。原来我一直把这个概念与先序遍历弄反了。。wa了一个多小时。。说说正解:先明确h1f1+h2f2+…+hnfn=(h1d1+h2d2+…+hndn)/S.所以我们只需求出最小(h1d1+h2d2+…+hndn),最后再除以S就好了。。然后定义状态:dp[原创 2014-02-20 08:58:47 · 658 阅读 · 0 评论 -
【题解】[scoi2007]组队
DescriptionNBA每年都有球员选秀环节。通常用速度和身高两项数据来衡量一个篮球运动员的基本素质。假如一支球队里速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所有队员都应该满足: A * ( height – minH ) + B * ( speed – minV ) Input第一行四个数N、A、B、C 下接N行每行两个数描述一个球员的原创 2014-02-20 09:35:01 · 1035 阅读 · 0 评论 -
【题解】[nyoj509]因子和阶乘
描述给你一个正整数n,把n!=1x2x3x.....xn分解成素因子相乘的形式,并从小到大输出每个素因子的指数,但要保证最后输出的素因子个数不为0。例如825应表示为0,1,2,0,1表示分别有0,1,2,0,1个2,3,5,7,11。输入第一行有一个整数n(0接下来n行每行有一个整数 m(1输出 从小到大输出m分解成素因子相乘后各个素因子对应的指数 样例输入 2553原创 2014-02-20 09:59:40 · 580 阅读 · 0 评论 -
数学专题训练4
这次是矩阵与行列式题目一:bzoj1013我看到这题时反正没什么感觉。。。其实对于球来说。。其上每一个点到球心的距离都是相等的。。。于是就可以根据这个来列方程设球心为(x1,x2,...)对于点(a1,a2,...),(b1,b2,...) 有Σ(ai-xi)^2=Σ(bi-xi)^2看起来很麻烦。。因为方程有二次项但其实这个式子是可以打开的。。。打开后变成Σ2*(bi-原创 2014-03-02 21:19:45 · 1002 阅读 · 0 评论 -
【题解】 [SCOI2003]切割多边形
Description有一个凸p边形(p<=8),我们希望通过切割得到它。一开始的时候,你有一个n*m的矩形,即它的四角的坐标分别为(0,0), (0,m), (n,0), (n,m)。每次你可以选择一条直线把当前图形切割成两部分,保留其中一个部分(另一部分扔掉)切割线的长度为此直线在多边形内部的部分的长度。求出最短的切割线总长度。下面是一个例子。我们需要得到中间的多边形。 分别沿着直原创 2014-02-16 20:22:53 · 983 阅读 · 0 评论 -
【题解】[wikioi2520]上学路线
题目地址:http://www.wikioi.com/problem/2505/今天找了两道数学题稍微练习了一下。。。这一道比较水。这是一道递推的经典例题的数据加强版。。。但因为数据范围太大,明显不用递推。。。然后,这道题也是一道组合的经典例题:根据题意,小A一共要走m+n步,其中有n步是横着在走。。。可以想到,每一种走法都是在这m+n步中选择不同的n步作为横着走的情况。。原创 2014-02-18 18:56:06 · 828 阅读 · 0 评论 -
【题解】[wikioi2873]日程表安排
题目地址:http://www.wikioi.com/problem/2873/这题其实也不算难。。。只是我太弱,自己怎么想都想不出来,还是在Lz神牛的指导下,才把这道题写出来的。。其实就是求格子染色方案数,看到这道题就会有一种是递推的感觉。直接推情况很复杂,所以可以根据已安排的点来分段,每一段看做一个新的行,单独求出可行安排方案数,再由乘法原理向乘即是答案。设dp[i][j]表示原创 2014-02-18 19:15:50 · 1016 阅读 · 0 评论 -
两种K短路问题
一:普通的K短路问题。这个就是在一张图里面求k短路长度。。没有什么限制。这个可以用A*算法解决。先说大概思路:用优先队列储存状态。。。每次出队step值(就是当前走到这个点所经过的距离值)最小的点,用它扩展到周围的点的状态。。然后把这些新状态入队。。。(就和普通bfs差不多),那么目标点第一次出队时,这个状态的step值就是他的第一短路。。同理,第k次出队时所对应状态的step值就原创 2014-02-23 16:31:46 · 2844 阅读 · 0 评论 -
【题解】CQ大神原创的一道题
1、刁难(difficult.pas/cpp)题目描述NOIP2013虐江湖考挂了,DAY1爆0,倒数第一,曾经省选校内总分第一的虐江湖终被姜胡虐,但是为了下一届的省选,虐江湖决定出题刁难下学弟们……现有N个数字,你每次需要选定一个区间,要求满足下列条件后这个区间尽可能长:区间左界为大于0的最靠左的数字,且区间最小值大于0。然后将该区间里每一个数减去该区间最小值……经过若干次这样操作后原创 2014-02-23 19:55:41 · 930 阅读 · 0 评论 -
【题解】[hdu3874]Necklace
题目大意:给出n个序列,和m个查询每个查询为1个区间[l,r],要求对于每个查询,输出这个区间内不重复的数的和(比如说区间内的数为 3 4 4 5,和就为12,因为对于相同的数只会统计一次)反正这道题我第一眼看到完全是蒙的。。。后来问lz神,讲了一会才把我讲懂。。。我太弱了啊这道题是这么做的。。。在线操作不行,考虑离线,先读入所有查询区间,然后对于值相同的数,把相邻的两个数的位原创 2014-02-23 20:23:45 · 913 阅读 · 0 评论 -
【题解】[codeforces round #198 div2]Tourists problem
题目大意:有n个点分布在一条直线上,每个点有一个正数坐标(没有两个点坐标相同)。。现在从0位置出发,以任意顺序遍历这n个点(不回到0)。。。求出平均路线长度,用最简分数表示。把整个路径拆成一段一段的来分析。。包含直接从0到i的路径有(n-1)!条 (可以把i排到第一个位置,其他n-1个点做全排列)然后包含直接从j到i的路径可以这么分析:先设i的位置比j小(因为题目本身没有这个限制,所以统原创 2014-02-23 20:45:01 · 927 阅读 · 0 评论 -
【题解】[hdu3473]Minimum Sum
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3473这道题就是用划分树。。。要使最小,选择的x一定是这段区间中大小居中的值,也就是第(r-l)/2+1大的值,就是区间第k大问题。把上述式子展开,就相当于midval*lnum-lsum+rsum-midval*rnum, 其中lnum 表示这段区间中比midval小的数的数目,lsum就是这原创 2014-02-18 19:32:54 · 618 阅读 · 0 评论 -
两个区间第K大问题
一:静态无修改 经典的方法就是使用划分树。。不过划分树写起来有点纠结。。。(时代的眼泪啊) 现在这个问题一般都是使用主席树来解决,其思想是这样的:对于原序列每一个前缀,都在其上建立一颗以值为轴的线段树(当然要离散化),保存区间内的值出现的次数,当查询一段区间最小值的时候,相当于在 右端点的线段树减去左端点的线段树 所得到的线段树上找第k个有值的点。。。(注意:权值线段树是可做差原创 2014-02-24 18:53:03 · 871 阅读 · 0 评论 -
数学专题训练2
这次是数论专题训练。。。这几道题总的来说:没有最坑,只有更坑!!题目一:Uva11426题目大意:输入正整数 n 求Σgcd(i,j) 1设f[n]=gcd(1,n)+gcd(2,n)+gcd(3,n)...+gcd(n-1,n);那么答案自然就是 Σf[i] 2关键问题在这个f[n]怎么求上。。。假设gcd(x,n)=i;那么 gcd(x/i,n/i)=1;原创 2014-02-26 22:02:51 · 753 阅读 · 0 评论 -
欧拉函数的应用
两道欧拉函数的简单应用。。。第一题:[Sdoi2008]沙拉公主的困惑题意:求1到n!中与m!互素的数的个数根据网上大牛的题解,当a是b的倍数时:在1~a中与b互素的数的个数为: a/b*phi[b] = a*(1-1/p1)*(1-1/p2)*……(pi都为b的素因子)因为对于区间内每一个与b互素的数x,x%b也与b互素。 对于一个在1~b范围内的与b互素的数x, x+b,x+2原创 2014-02-27 11:50:31 · 835 阅读 · 0 评论 -
数学相关专题1
本来准备来数学题专题训练的,不过这次的题目都没太大思维量,没起到很好的效果。。。在rqnoj的数论/数值 标签里看的题。。。基本成了高精度专题练习了。。。题目一:wikioi1252 FIB词链地址:http://www.wikioi.com/problem/1252/这个嘛。。。假设g[n]为fib[n]包含的原单词数。。。其实g[n]就等于g[n-1]+g[n-2]+拼接后增加原创 2014-02-25 21:58:11 · 974 阅读 · 0 评论 -
数学专题训练3
这次是概率专练选的题都比较基础。。因为我对概率的感觉很不到位啊啊啊啊题目一:wikioi计算概率地址:http://www.wikioi.com/problem/1533/这个就是古典概型嘛。。。先枚举选的第一根。。。然后再求出第选二根后和小于等于l的方案个数。然后答案很自然就是 这些方案个数的和/n*(n-1)了。。考虑到n稍大。。求方案数不能直接暴力。。。可以选择二分来求(原创 2014-02-28 20:15:17 · 743 阅读 · 0 评论 -
莫比乌斯反演小总结
好久不来。。算除个草以下纯属蒟蒻个人做了几道题后的感觉:莫比乌斯反演好像就是利用几个公式。。。然后代换变形到复杂度可以接受的情况。 莫比乌斯反演公式:如果 F(n)=sigma{f(d)} (d|n) 那么 f(n)=sigma{miu(n/d) F(d)} (d|n)或者如果:F(n)=sigma{f(d)} (n|d) 那么 f(n)=sigma{miu(d原创 2014-05-26 10:00:50 · 1622 阅读 · 0 评论