自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xqacmer

欢迎前来

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

原创 莫队

题目链接:CodeForces - 617E题目描述:Bob has a favorite numberkandaiof lengthn. Now he asks you to answermqueries. Each query is given by a pairliandriand asks you to count the number of pa

2017-11-29 19:25:29 240

原创 一元二次方程组膜下解

题目链接:Wannfly挑战赛4-E题目描述:题目描述对于一个模意义下的一元二次方程:x2+ ax + b = 0 (mod p),其中p是质数。每次给定一组a,b,p,问这个方程有没有整数解,有解输出“Yes”,无解输出“No”。有T组询问。输入描述:输入第一行一个正整数T(T5),表示数据组数。接下来T行每行三个非负整数

2017-11-27 22:21:18 541

原创 链式前向星+b/dfs

题目链接:Wannfly挑战赛4-D题目大意:题目描述wyf非常喜欢树。一棵有根数树上有N个节点,1号点是他的根,每条边都有一个距离,而wyf是个爱问奇怪问题的熊孩子,他想知道对于某个点x,以x为根的子树上,所有与x距离大于等于k的点与x的距离之和。输入描述:第一行一个正整数N接下来N-1描述这棵树,每行两个数第i行两个数p和D表示树上有一条p到i+1长度为D的边。

2017-11-26 21:57:28 344

原创 链式前向星

推荐博客:推荐博客1推荐博客2我们首先来看一下什么是前向星和链式前向星.一般来讲,图的常用存储结构有邻接矩阵,和邻接表,但我们知道邻接矩阵空间浪费太严重,邻接表不好写,今天来讲一下图的另一只常用的存储结构:前向星和链式前向星,介于上述两种存储结构之间的一种比较均衡的存储结构。前向星是一种特殊的边集数组,我们把边集数

2017-11-26 21:06:41 330

原创 SFPA求非自环闭环的最短路

题目链接:题目传送门题目大意:Given a n*n matrix Cij(1ij(1Besides,Xijmeets the following conditions:1.X12+X13+...X1n=12.X1n+X2n+...Xn-1n=13.for each i (1ki(1ij(1For example

2017-11-24 17:18:48 496

原创 概率dp

题目链接:题目传送门概率dp刷的比较少,这个题看了好几天看不懂,真的是捉急啊题目描述给你一个长n的序列,m次查询每次查询给一个x,然后:从序列的最左端1开始,每次随机的选择一个右端点r,如果两个端点间的区间和不超过x,就进行一次分割,然后把左端点变成r + 1, 否则一直随机下去。问这样分割出来的期望段数输

2017-11-24 17:08:21 272

原创 并查集总结

(一)并查集按秩合并:void Union(int a,int b){ int x=Find(a); int y=Find(b); if(x==y) return ; if(ra[x]<ra[y]) { p[x]=y; } else { p[y]=x;

2017-11-24 01:40:26 209

原创 Wannafly挑战赛3 C.位数差(树状数组)

#include #include #include #include #include #include #include #include #include #include #include #include #define ri(n) scanf("%d",&n)#define oi(n) printf("%d\n",n)#define rl(n) scanf(

2017-11-23 12:57:52 371

原创 树上最长上升子序列

题目链接:codeforces-490F题目大意:n个城市,n-1条边,任意两个城市都有路径到达。现在一个乐队开演唱会,乐队沿着一条路途径城市。乐队每开一次演唱会,当前城市的人口数量一定要比之前开演唱会的城市的人口数量多。每个城市的人口数量为ai,问乐队最多能在多少个城市开演唱会其实就是求树上的最长上升子序列。类似

2017-11-22 21:09:35 1285

原创 最短路PTA(2)

题目链接:点击打开链接题目大意:作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N

2017-11-22 21:04:45 261

原创 最短路PTA

题目链接:https://pintia.cn/problem-sets/905631457273864192/problems/905631519127265289题意:本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线;一条是最短距离的路线。题目保证对任意的查询请求,地图上都至少存在一条可达路线。输

2017-11-22 21:01:35 330

原创 hihoCoder - 1633(2017北京icpc现场赛-G题)

题意:给你一个三角形的三个坐标,还有一张图,让你从图中的左下角走到右上角,左下角坐标是(0,0),每两点之间的长度是1,'.'代表能走,'#'代表不能走,并且每条路径不能碰到三角形内部,让你求最短路径长度。 北京错失铜牌,打铁而归,总是感觉很遗憾,也有点难受,这个题当时场上差一丢丢能出的,后来时

2017-11-22 00:14:23 1267

原创 hihoCoder 1636(2017北京icpc-j题)

题意:n个石子堆排成一排,每次可以将连续的最少L堆,最多R堆石子合并在一起,消耗的代价为要合并的石子总数求合并成1堆的最小代价,如果无法做到输出0思路:dp[i][j][k]表示区间[i, j]分成k堆的最小代价,转移有k=1时:dp[i][j][1] = min(dp[i][p][x-1]+dp[p+1][j][1]+sum[i][j]

2017-11-21 12:04:29 424

原创 polay计数

题意:有n个珠子围成的环,有t种颜色可以染这些珠子;如果这个环可以旋转有几种办法;如果这个环可以旋转,且可以翻转,有几种办法;代码:(模板)#include #include #define ll long long using namespace std; const int N = 55; ll p[N]; int n, t

2017-11-14 22:22:08 439

原创 最小生成树+dfs

题目链接:CodeForces - 472D题目大意:告诉你一棵树有n个节点,然后以矩阵的形式告诉你每两个节点间的距离,问是否能构成一颗树。首先,我们可以排除掉一些错误答案,比如arr[i][i]!=0,arr[i][j]!=arr[j][i],arr[i][j]=0(i!=j)这几种我们可以直接输出NO求最小生成树,然后dfs求两点之间的最短距离,是否符合已知情况

2017-11-14 22:15:59 586

原创 容斥原理

给你n,m,求所有二元组(i,j)的gcd的和(1例题:https://vjudge.net/contest/198890#problem/D代码:#include #include #include #include #include #include #include #include #include #include #include #i

2017-11-14 22:01:11 205

原创 01字典树+贪心(顺便总结字典树模板)

题目大意:题意: 给你n个数,然后给你m组询问,每组询问给你一个数,输出n个数中与该数亦或的最大的那个数,输出的是被亦或的那个数,不是亦或后的结果。 给你n个数,然后给你m组询问,每组询问给你一个数,输出n个数中与该数亦或的最大的那个数,输出的是被亦或的那个数,不是亦或后的结果。思路:我用的是字典树+贪心,首先我们可以把前n个数拆成2

2017-11-13 22:03:07 290

原创 遇见

时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld题目描述A和B在同一条路上,他们之间的距离为 k 米。A现在想见到B,所以A开车以 x km/h的速度朝着B的方向行驶,同时B也以 y km/h的速度朝着A的方向走去。A的车有 n 个档位,每个档位有不同的速度。现在假设A开车去见B

2017-11-11 15:55:28 242

原创 模运算+c除法小知识

模运算下x=a/b%p,当然是不行的,正确的是x=a*(b在p下的逆元)。那么,当b在p下没有逆元,也就是b和p的最大公约数不是1的时候,该怎么办呢。。西安回来就应该想到写一下这个博客的,今天才想起来当b在p下无逆元的时候:x=a%(b*p)/b。代码:int main(){ int a,b,p; scanf("%d%d%d",&a,&b,&p); i

2017-11-11 15:27:17 363

原创 Wannafly模拟赛5 A题

思路:首先需要证明假设已经将题目中的S分成了n等份,那么对于当前分裂方式能够取得的最大收益需要满足:当前假设S/n余数为0,或者尽可能接近均分举例:eg1. S=10 M=33第一种方式:所能够获得总收益为 come=5*5+2*3=31=33,此时分裂次数为3次第二种方式:此时总收益为 c

2017-11-09 21:55:25 472

原创 Codeforces 748E - Santa Claus and Tangerines

题目大意:有n个数分给m个人每个数可以分成两个新的数 i/ 2 、(i+1)/2 分后的数可以继续分,但不允许分1=1+0最后分给每个人,求分得的数最小的人分得的数最大能多少。有两个方法。第一个方法是二分答案,然后从1e7到二分的值按照i的奇偶性把i的值传给i/2或i/2和i/2+1,然后计算当前二分的值是否能分给m个人。时间

2017-11-09 18:07:13 249

原创 莫队+分块

这个题是bzoj-2038题目链接:题意:给出n个数字,m次询问,每次询问在区间\([l_i,r_i]\)之间任选两个数字相等的概率是多少。(n,q思路:这道题是比较模板的莫队分块了,对于一个区间询问[L,R],我们要求的ans是∑C(f[i],2)/C(r-l+1,2)然后有:∑(f[i]^2-f[i])/((r-l+1)*(r-l))其中sum(f

2017-11-08 21:09:39 515

原创 树状数组+启发式合并

重要的是事情说三遍,我是傻逼我是傻逼我是傻逼傻逼。。。。说说这个题吧,hdu-5997题意:给出一个颜色的序列,每次有两种操作:1xy:将所有的颜色x变为颜色y;2lr:查询[l,r]之间有多少个连续的颜色段。对于每次查询操作,输出查询的结果。思路用树状数组c维护当前点是不是

2017-11-07 10:52:16 463

原创 GarsiaWachs算法

题目描述:N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。例如: 1 2 3 4,有不少合并方法1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19)1 2 3 4 => 1 5 4(5) => 1 9(14) => 10(

2017-11-06 15:58:45 2534

原创 抽屉原理

题意:给你n(n题目链接:点击打开链接题目思路:总共有N个数。输入的数据存为 a[1] a[2] .........a[N]令 b[n]=(a[1]+a[2]+a[3]+...+a[n])%N (n=1,2,3,...,N)b[0]=0;首先,b[n]都是N的余数。总共有N个取值(0,1,2,...,N-1)

2017-11-04 14:17:47 222

原创 线段树(区间修改,单点查询)

题目链接:https://vjudge.net/contest/196267#problem/B题号:zoj-3284题目大意:就是给你一个矩阵,让你实现一些修改和查询操作题目思路:建立两个线段树,不细说#include #include #include #include #include #include #include #include #inclu

2017-11-03 16:12:41 1813

空空如也

空空如也

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

TA关注的人

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