自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

薇小薇

”喵喵喵?“

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

原创 [BZOJ2653][国家集训队]middle(主席树+二分)

题目:我是超链接题解:代码:#include <cstdio>#include <iostream>#include <algorithm>#define INF 1e9using namespace std;const int N=25005;int n,sz,root[N],q[5],A[N],pos[N];stru...

2018-06-30 21:44:18 301

原创 [CF888 E]Maximum Subsequence(meet in middle)

题目:我是超链接题意:有n个数,求从中选任意个数加和对k取模后的最大值。 题解:有一个事情就是如果a < mod && b< mod && a+b>mod ,那么(a+b)%mod一定是小于a,b的 显然可得了那么这道题目就是双向搜索,然后凑数就是如果两个数相加>=k就显然不是最优答案,r- -,找到一个l+r &l...

2018-06-29 11:38:18 291

原创 [BZOJ4800][CEOI2015]Ice Hockey World Championship(meet in middle)

题目:我是超链接 有n个物品,m块钱,给定每个物品的价格,求买物品的方案数。(怎么买或者不买都可以) n<=40,m<=1e18题解:看范围meet in middle代码:#include <cstdio>#include <algorithm>#define LL long long using namespace std;...

2018-06-29 10:10:51 362

原创 Meet in the Middle学习笔记

Meet in the Middle算法Meet in the Middle算法可以看成是搜索算法的一个改进,一般来说用于广搜(BFS),不过如果搜索深度有上限的情况下也可以用深搜。我们首先假象一个搜索场景 假设从上面的红点开始进行搜索,找一条能通向下面那个红点的路径,每个点都有两条岔路可供选择。显然如果我们简单的从上面那个点开始BFS,代价是较大的,在最差的情况下,可能需要把整...

2018-06-29 09:16:24 567

原创 [CF1000F] One Occurrence(线段树)

题目:我是超链接题解:代码:#include <vector>#include <cstdio>#include <cstring>#include <iostream>using namespace std;#define INF 1e9const int N=500005;int ans[N],a

2018-06-28 22:00:42 1020

原创 [POJ2069]Super Star(最小球覆盖-模拟退火)

题目:我是超链接题意:给n个点的坐标(xi,yi,zi)(xi,yi,zi)(xi,yi,zi),求覆盖这n个点的最小球的半径rr。 题解:模拟退火,每次往更优秀的方向移动代码:#include <cstdio>#include <cmath>#include <iostream> using namespace std;...

2018-06-28 10:05:01 452

原创 [POJ2420]A Star not a Tree?(模拟退火)

题目:我是超链接题意:平面上给你n个点,让你求一个点,到这n点的距离和最小。题解: 好玄学啊。。伪代码献上T=100.0; //初始温度for(int i=0;i<100;i++) //控制迭代次数{ tar=getPos(); //在x的周围选一个点 E=f(tar)-f(x);...

2018-06-28 08:41:05 293

原创 [BZOJ1502][NOI2005]月下柠檬树(辛普森积分+解析几何)

题目:我是超链接题解:首先我们理解一下投影的性质,也就是投影出来的图形一定跟原图形全等。那么我们所要求的就是一些圆形和一些等腰梯形面积并圆形投影下来是什么呢?和原来一样的圆形啊那么运用计算几何的知识就可以得到圆的方程和圆的公切线的方程,然后得到一个连续的函数(这样用辛普森积分的时候就不必考虑将整个图形拆成若干个一坨一坨的图形再求积分)。最后这个题就成为一个函数的解析式,这个...

2018-06-27 17:19:21 383 1

原创 [BZOJ1211][HNOI2004]树的计数(prufer序列)

题目:我是超链接题解:这是一道prufer序列裸题 也就是相当于让我们求:长度为n-2的数列,每个数字出现的次数是lilil_i,不同的数列个数是多少。(n−2)!l1!l2!...(n−2)!l1!l2!...{(n-2)!\over l_1!l_2!...}。我们发现这个题目没有模数,我们就用质因数分解做。这道题目特判注意。如果度数加起来不合条件直接退出;如果有点度数为0而且...

2018-06-27 09:08:38 217

原创 [SRM 697 div1]ConnectedStates(prufer序列+dp)

题目:有n个城市,每个城市有个权值AiAiA_i,任意两个城市i,ji,ji,j之间的道路数有Ai∗AjAi∗AjA_i∗A_j条。对于每种生成树,设每个点的度数为didid_i,其权值定义为∏di∏di\prod d_i。问所有无根生成树的权值和。答案对1e9+7取模。 n≤2000然而我见到的题面是这样的 其实是等效的,我随便说一下:对于一个度数为di的点,定出一棵生成树的状...

2018-06-26 21:59:49 376

原创 [BZOJ3672][NOI2014]购票(斜率优化DP+树链剖分+线段树+三分)

题目:我是超链接题解:这个很明显要从上往下DP,而且下面的DP选择了就可以直接选择用上面的信息直接转移了。大概就是f[i]=min(p[i]∗(dis[i]−dis[j])+q[i]+f[j])f[i]=min(p[i]∗(dis[i]−dis[j])+q[i]+f[j])f[i]=min(p[i]*(dis[i]-dis[j])+q[i]+f[j])(dis[i]-dis[j]&...

2018-06-21 20:52:49 238

原创 [BZOJ3670][NOI2014]动物园(KMP)

题目:我是超链接题解:首先他给了我们关于next数组的提示,这挺好的。 先看到 num 的定义:不互相重叠的公共前后缀个数 说明 num不同于 next 记录的是一个最大值,它记录的是一个和值那么我们先用kmp数组用递推求出ans[i]表示前缀后缀可以重叠的最长公共部分长度,这个可以用j蹦完之后直接ans[i]+1,加的1就是可以有个新的整体咯。怎么去除重叠的呢?一旦有...

2018-06-20 19:40:20 308

原创 2018SD省队集训R1 D7

T1题解:代码:T2题解:很明显我们可以转化一下看看,贪心的从最小的开始选择,每一个数字可以连向左边还没被扩进去的最大值,右边的第一个,或者是自己,维护区间最大值可以用线段树,维护哪些区间被用过可以用set。 则234被扎死口,234的值都是0;56未被扎死口,6的值是0。可以发现,被扎死口的元素值为0,值为0的元素不一定被扎死口,因为还可以向左连5,这里扎死口的...

2018-06-19 21:36:27 577

原创 2018SD省队集训R1 D6

T1题解:这种东西小一点的范围应该是合并果子,说的科学一点就是k叉哈夫曼树 容易易发现 k 叉哈夫曼树只有 n/k 个节点,并且哈夫曼树合并过程中合并出的节点权值是单调不不降的。 我们开两个队列,用一个队列列保存新合并出的节点。 每次取出前 k 小的权值,怎么选呢?我们枚举从第二个队列中选择i个,那么从第一个队列就是选了num-i个,可以选择哪个更优。 选择次数的复杂度是:n/...

2018-06-17 23:36:04 493

原创 2018SD省队集训R1 D5

当强制在线遇上卡常大赛~T1题解:题目乱七八糟的。事实上你按照他说的构造出a数组,然后交换。然后相连的两个点ab只有a在b的右下方或者b在a的右下方。要求字典序最大,显然我们可以每次贪心选择最大的,然后他左上的矩阵和右下的矩阵都不能选了。那么30pts的暴力。我们可以每次选择一个最大的,然后暴力记录一下每一行被覆盖到了第几列,然后到一个点的时候直接看看这一行这一列有没有被覆...

2018-06-13 20:19:56 463

原创 2018SD省队集训R1 D4

T1题解首先可以发现ab之间都要线性无关才是最优的,不难发现我们实际要求矩阵的秩 在线性代数中,一个矩阵A的列秩是A的线性独立的纵列的极大数目。类似地,行秩是A的线性无关的横行的极大数目。通俗一点说,如果把矩阵看成一个个行向量或者列向量,秩就是这些行向量或者列向量的秩,也就是极大无关组中所含向量的个数。然后有一个定理 矩阵的秩实际上是行秩和列秩的最小值,怎么求线性无关呢?高...

2018-06-12 22:11:35 415

原创 2018SD省队集训R1 D3

T1题解:代码:T2题解:代码:T3题解:这个题目考场上一眼暴力都不会写。。。那就从暴力说起吧 我们可以枚举每一个格子的上三角形先被消掉还是下面的三角形先被消掉,我们假设上面的三角先被删掉,可以建立一个依赖关系,像这样 然后可以瞎搞计数,这样的复杂度是O((rc)2)=O(r4)O((rc)2)=O(r4)O((rc)^2)=O(r^4)然后...

2018-06-12 21:54:21 538 2

原创 2018SD省队集训R1 D2

T1题解:好说一点吧,我们假设H=W=4 我们大概是要解一个方程,考虑减来减去重叠的情况 那么得到的一个性质是 a[x][y]+a[x+4][y+4]=a[x+4][y]+a[x][y+4]a[x][y]+a[x+4][y+4]=a[x+4][y]+a[x][y+4]a[x][y]+a[x+4][y+4]=a[x+4][y]+a[x][y+4] 如果我们考虑x,y对4取模处理结果的...

2018-06-11 19:36:55 571

原创 2018SD省队集训R1 D1

T1题解:代码:T2题解:打表20pts 我们可以对这个矩阵做一个转化(i,j)->(i-j,j) 然后一个位置上的数字就必须在他上面&左边的数字都取了之后才能取 这个模型其实就是杨氏矩阵 杨氏矩阵,一个数字比右边的下面的大,除非右边下面没有数字了 钩子定理,用来求杨氏矩阵个数的算法 钩子长度:右边元素个数+下边元素个数+1 钩子公式:对...

2018-06-10 20:10:09 477

原创 [BZOJ3534][SDOI2014]重建(矩阵树定理)

题目:我是超链接题解:代码:

2018-06-06 23:53:23 322

原创 [BZOJ4766]文艺计算姬(矩阵+矩阵树定理+快速加)

题目:我是超链接题解:完全二分图:X中的任一顶点与Y中每一个顶点均有且仅有唯一的一条边相连 不难发现K矩阵是长这个样子的 我们对这个矩阵分一下块,左上角是n * n的对角线为m的矩阵A,右上角是全为-1的n * (m-1)的矩阵B,左下角是全为-1的(m-1) * n的矩阵C,右下角是对角线为n的(m-1)*(m-1)的矩阵设为D 分块矩阵的行列式求法:   ...

2018-06-05 15:57:46 465

原创 [BZOJ4596][SHOI2016]黑暗前的幻想乡(矩阵树定理+容斥)

题目:我是超链接题意:n个点要修n-1条路(形成一棵树)。有n-1个公司,每个公司可以修建某些路径。求每个公司恰好修建一条路能修成树的方案数。题解:生成树的数量要考虑矩阵树定理,但是如果把所有的边加进去,不能保证每个公司都修一条路。 我们考虑容斥,其实答案就是:至少不选0个公司-至少不选1个公司+至少不选2个公司…… 我们可以二进制枚举哪些公司选,剩下的就是不选的。代码...

2018-06-05 11:07:35 215

原创 [BZOJ4031][HEOI2015]小Z的房间(矩阵树定理)

题目:我是超链接题解:利用类似辗转相除的方法,避免了对1e9取余,就可以避开做除法的过程。因为每次交换行,都会使行列式的值变成原来的-1倍,因为是取模,所以不能对最后的结果直接取绝对值。需要记录交换的次数,然后计算答案,再进行取模。代码:#include <cstdio>#include <cstring>#include <iostr...

2018-06-04 18:46:14 183

原创 [BZOJ1016][JSOI2008]最小生成树计数(辗转相除高斯消元+矩阵树定理)

题目:我是超链接题解:最小生成树有两个性质: (1)不同的最小生成树中,每种权值的边出现的个数是确定的 (2)不同的生成树中,某一种权值的边连接完成后,形成的联通块状态是一样的 那么我们其实可以把每种权值的处理看成是分开的好几步,然后根据乘法原理,将每一步得到的结果相乘。 举个例子,下图中s1,s2,s3表示已经处理好的3个连通块,虚线表示一组同权值的边。加入这组边后s1...

2018-06-03 21:58:52 778 1

原创 矩阵树定理学习笔记

前置知识:矩阵的行列式行列式是什么? det(K)=∑((−1)τ(P)×D1,p1×D2,p2×D3,p3×...×Dn,pN)det(K)=∑((−1)τ(P)×D1,p1×D2,p2×D3,p3×...×Dn,pN)det(K)=∑((−1)^{τ(P)}×D_{1,p_1}×D_{2,p_2}×D_{3,p_3}×...×D_{n,p_N}) 其中P为1−N的任意一个排列,τ(...

2018-06-03 19:22:00 500

原创 [BZOJ3244][NOI2013]树的计数(树)

题目:我是超链接题解:首先按照bfs分层,然后对于点x,令pos[x]为x的dfs序编号,a[i]为dfs序的第i个数在bfs序里的位置。第i层的深度为i,假设它包含[l,r],那么有以下限制第1层是1 pos[l] < pos[l+1] < pos[l+2]…< pos[r] dep[a[i+1]]<=dep[a[i]]+1(因为a[i+1]只可能...

2018-06-02 11:28:45 363

空空如也

空空如也

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

TA关注的人

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