自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 codeforces div2_603 F. Economic Difficulties(树dfs预处理+dp)

题目连接:http://codeforces.com/contest/1263/problem/F题意:有n个设备,上和下分别连接着一颗树,上下两棵树每棵树的叶子节点连接一个设备,两棵树的根节点都是1,1是源点可以发电供给叶结点连接的设备,现在问最多删除多少条边可以保证从根结点1发电后仍然可以使得所有设备都有电?如上图删除红色的边(5条)仍然可以保证所有设备能供电思路:...

2019-12-09 23:54:06 179

原创 codeforces div2_604 E. Beautiful Mirrors(期望+费马小定理)

题目链接:https://codeforces.com/contest/1265/problem/E题意:有n面镜子,你现从第一面镜子开始询问,每次问镜子“今天我是否美丽”,每天可以询问一次,第 i 面镜子回答“美丽”的可能性是Pi/100,如果第i面镜子回答的是美丽,那么第下一天继续询问第i + 1面镜子。如果第i面镜子回答的是“不美丽”,那么下一天你将重新从第1面镜子询问。如此过程直到所有...

2019-12-07 14:08:23 186

原创 codeforces div2 603 D. Secret Passwords(并查集)

题目链接:https://codeforces.com/contest/1263/problem/D题意:有n个小写字符串代表n个密码,加入存在两个密码有共同的字母,那么说这两个密码可以认为是同一个集合,可以互相破解,先求有多少个不同集合的密码思路:简单的并查集。首先一共有26个字母,对于每个密码,我们合并其所涵盖的字母,例如密码1:abcd,那么abcd合并起来,含有abcd的任意密码都...

2019-12-04 11:32:55 152

原创 codeforces div2 603 E. Editor(线段树)

题目链接:https://codeforces.com/contest/1263/problem/E题意:一个编译器,每次输入一些字符,R表示光标右移,L表示光标左移,然后有一些左括号( 和 右括号 ),每次会询问当前输入的数据的括号是否合法,如果不合法输出-1,如果合法输出最大合法的括号对数,合法的括号就是()这种形式的。思路:大致思路是用线段树维护区间一个区间前缀和,初始化前缀和为0...

2019-12-03 23:16:28 118

原创 codeforces div2 603 C. Everyone is a Winner!(二分)

题目链接:https://codeforces.com/contest/1263/problem/C题意:给你一个数字n,求n/k有多少个不同的数思路:首先K大于n时,n/k是0。然后k取值在1到n之间的时候进行二分即可求解。 举个例子,比如n = 11,那么k分别取值1 2 3 4 5 6 7 8 9 10 11时候,n/k是 11 5 3 2 2 1 1 1 1 ...

2019-12-03 23:06:06 140

原创 codeforces 597 div2 E. Hyakugoku and Ladders(概率dp)

题目链接:https://codeforces.com/contest/1245/problem/E题意:有一个10x10的网格,左下角是起点,左上角是终点,从起点开始,如图所示蛇形走到终点,每一步走的时候要摇骰子,骰子是几就走几步,但是到终点前的那6步,骰子必须是直接到终点的步数才能走过去,否则原地停留,题中还有一个条件,可能有一些网格上存在梯子,你可以直接沿着梯子到更高的一行,求从起点到终...

2019-11-28 23:38:00 157

原创 codeforces 597div2 F. Daniel and Spring Cleaning(数位dp+二维容斥)

题目链接:https://codeforces.com/contest/1245/problem/F题意:给定一个区间(L,R),a、b两个数都是属于区间内的数,求满足 a + b = a ^ b 的实数对个数。题解:看到求区间内满足一定条件的数的个数,应该用数位dp,数位dp基本操作是编写出solve函数调用记忆化搜索,那么考虑solve(R,R)是求0到R满足条件的答案,solve(L...

2019-11-28 23:17:25 180

原创 hdu:2089 ( 数位dp入门+模板)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089数位dp的模板题,统计一个区间内不含62的数字个数和不含4的数字个数,直接拿数位dp的板子敲就行,注意每次调用solve函数要初始化dp数组,否则之前调用的时候dp数组可能被记录过。AC代码:#include<iostream>#include<cmath>...

2019-11-28 23:06:22 2220

原创 POJ2096(概率dp)

题目链接:http://poj.org/problem?id=2096题意:一道入门的概率dp题目。一个系统有n种bug和s个子系统,bug的数量是无限的,每次每天可以从s个子系统中找到一个bug,每种bug的概率都是相等的,现求s个子系统中找到n种bug的平均天数,要求每个子系统中至少找到一种bug思路:dp[i][j] 表示已经在j个子系统中找到了i种bug,剩余所需要的平均天数。...

2019-11-23 16:07:27 169

原创 codeforces E. The Contest(最长上升子序列)

题目链接:https://codeforces.com/contest/1257/problem/E题意:给三个序列k1,k2,k3,每个序列有一堆数,k1是前缀,k3是后缀,k2是中间,现可以从任意序列中选择一个数加入到另外的序列中,问最小操作次数还原成1-n的原序列(序列内部操作是任意的,不计入操作次数)题解:k1,k2,k3分别排一下序,然后k1,k2,k3拼成一个序列,求这个序列的...

2019-11-21 17:32:30 198

原创 codeforces 1245D(最小生成树)

题面链接:https://codeforces.com/problemset/problem/1245/D题意大概是给你一些城市的坐标,可以在城市中建立发电站,也可以让某个城市和已经建好发电站的城市连接,保证在这两种操作下使得所有的城市供电,在城市建发电站需要花费Ci,城市a和城市b连接需要花费(|Xa-Xb| + |Ya-Yb| )*(Ka+Kb),求最小的花费让所有城市通电。思路:首先...

2019-11-09 00:33:45 316

原创 hdu1695(莫比乌斯反演+容斥)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1695题目是求 在区间[a,b]选一个数x,区间[c,d]选一个数y,求满足gcd(x,y) = k 的个数题目给出了条件,可以认为所有的样例中,a = b = 1,那么就是在区间[1,b]和区间[1,d]中分别选择两个数求gcd(x,y) = k的个数我们让区间[1,b]和[1,d]变为[...

2019-10-20 12:29:05 115

原创 codeforces C. Primes and Multiplication(快速幂 唯一分解定理)

题目链接:http://codeforces.com/contest/1228/problem/C题解:给定一个函数f,g,题目有描述其中的表达式含义和两者之间的关系。然后计算:首先把给定的x用唯一分解定理分解出素因子因为在1-n中,n/p(素因子)的值就是其1-n中有多少个数能整除p,n/p^2就是有多少个数能被p^2整除,所以做一次循环,每次n=n/p,直到n为0,sum记录每...

2019-10-11 13:34:45 117

原创 codeforces Make The Fence Great Again(dp)

题目链接:http://codeforces.com/contest/1221/problem/D题目要求ai ! = ai-1,草纸上推理一下可以发现每一个栅栏可以升高的高度无非就是 +0,+1,+2用dp【i】【j】表示到第 i 个栅栏升高 j 高度时,所需要的最小花费。状态转移方程:dp[i][j] = min(dp[i-1][k]+j*b[i],dp[i][j]),其实每次循环...

2019-09-21 13:08:29 105

原创 2019 ICPC 徐州网络赛 B.so easy (并查集思路)

计蒜客链接:https://nanti.jisuanke.com/t/41384题目大意:给定n个数,从1到n排列,其中有q次操作,操作(1) 删除一个数字 // 操作(2)求这个数字之后第一个没有被删除的数字(包括自己)。题解:考虑到实践复杂度问题,n范围是1e9,而q的范围是1e6,所以可以从q入手。用并查集的思路模拟出一个链表,用hashmap存储一个数距离它最近没有被删除的数(即并...

2019-09-11 23:06:41 157

原创 2019 ICPC徐州网络赛 E. XKC's basketball team(二分)

计蒜客题目链接:https://nanti.jisuanke.com/t/41387题目大意:给定一组无序序列,从第一个数开始,求最远比这个数大m的数,与这个数之间相隔多少数字?如果没有输出-1,否则输出间隔了多少数字。题解:从后往前遍历,在遍历的同时维护一个递增队列,若当前的数大于队尾就进队,否则从该队列中二分找最小的比自己大至少 的数,二者之间的距离即为答案,这里我用vector模拟...

2019-09-11 22:57:18 151

原创 POJ 2018 Best Cow Fences(二分答案)

题目链接:http://poj.org/problem?id=2018题目给了一些农场,每个农场有一定数量的奶牛,农场依次排列,问选择至少连续排列F个农场的序列,使这些农场的奶牛平均数量最大,求最大数量*1000/农场的个数。思路:题目是求是否存在一个长度不小于F的子段,使得平均数最大。1.用二分法从给定数据的最小平均数到最大平均数进行二分枚举,每次枚举的平均值为mid,那么子段的每一...

2019-09-05 10:46:35 244

原创 2019 ICPC南京网络赛 F题 Greedy Sequence(贪心+递推)

计蒜客题目链接:https://nanti.jisuanke.com/t/41303题目:给你一个序列a,你可以从其中选取元素,构建n个串,每个串的长度为n,构造的si串要满足以下条件,1. si[1]=i . 2. si[j]<si[j-1]3. |pos[j] -pos[j-1]|<=k 并且每个a中的元素只能用一次4. 两个串大小的定义时 前k项相等的前提...

2019-09-03 21:48:31 175

原创 2019 ICPC南京站网络赛 H题 Holy Grail(BF算法最短路)

计蒜客题目链接:https://nanti.jisuanke.com/t/41305给定的起点是S,终点是T,反向跑一下就可以了,注意判负环以及每次查询需要添加边AC代码:#include<iostream>#include<vector>#include<queue>#include<algorithm>#include&...

2019-09-02 22:55:03 119

原创 leetcode 72.编辑距离(dp)

链接:https://leetcode-cn.com/problems/edit-distance/submissions/设dp[i][j]表示串s1前i个字符变换成串s2前j个字符所需要的最小操作次数。首先要初始化dp数组的第一行和第一列 。dp[ i ][ j ]分为四种状态:1. s1[ i ] == s2[ j ] 此时不需要做变化,dp[ i ] [ j ] = dp...

2019-08-28 16:06:38 97

原创 牛客1080D tokitsukaze and Event (双向最短路)

题目链接:https://ac.nowcoder.com/acm/contest/1080/D首先建两个图,一个是权值为a的图,一个是权值为b的图。从s起点以spfa算法跑权值为ai的最短路到t点,d1[ i ]数组就表示在权值为ai的图中,s点到i点的最短路。再从t点为起点spfa算法跑权值为bi的最短路到s点,d2[ i ]数组表示在权值为bi的图中,t点到s点的最短路。在节点...

2019-08-28 15:31:45 93

原创 Codeforces 1207C Gas Pipeline (dp)

题目链接:http://codeforces.com/problemset/problem/1207/C题目大意是给一条道路修管道,相隔一个单位的管道有两个柱子支撑,管道柱子高度可以是1可以是2,道路中可能存在十字路口,如果有十字路口,管道高度必须升至2,其中输入数据为01字符串和n,a,b ,0是正常道路1是遇到十字路口,n是道路长度,a是修每单位管道需要花费的钱,b是每单位高度柱子需要花费...

2019-08-25 16:31:35 186

原创 Codeforces C. Almost Equal (数学规律)

题目链接:http://codeforces.com/contest/1206/problem/C题解 : 观察可以发现当n为偶数时,1 - 2n是不满足题意的,可以举例n = 2,n = 4试一试。那么当n为奇数时,则满足题意,通过n = 3和n = 5的情况可以发现一个规律,当a[ 1 ] = 1时候,a[ n + 1] = 2 ,a[ 2 ] = 4,此时 a[ n + 1] ...

2019-08-25 01:26:15 146

原创 codeforce D. Shortest Cycle(floyd求最短环)

题目链接:http://codeforces.com/contest/1206/problem/D给n个点,如果点a[ i ] &a[ j ] 不为0,则点a[ i ] 和 a[ j ] 直接可以连接双向边,如果这些点形成的图中有环,求最短路径的环,如果没有输出-1.思路:整体是用floyd求最短环,但是数据量很大,有1e5的数据,空跑floyd直接超时,但是由于题目的特殊性,两数...

2019-08-25 00:38:18 146

原创 Codeforces 1204D2. Kirk and a Binary String (hard version) (dp思路)

题目链接:http://codeforces.com/contest/1204/problem/D2题目是给定一个01字符串,让你尽可能多地改变1变为0,但是要保证新的字符串,对任意的L,R使得Sl,Sl+1,Sl+2...Sr的最长不递减子序列长度保持不变,求新的串s。dp思路,从前往后遍历串s。1 . 遇到s[ i ] = 0 是不能改变的,因为从i到n的最长不递减子序列必定是以s...

2019-08-22 19:00:00 246

原创 codeforces 1204C Anna, Svyatoslav and Maps(floyd+dp)

题目链接:http://codeforces.com/problemset/problem/1204/C给定一组序列,P1,P2,P3...Pm,这是一组合法路径的序列,即任意的Pi和Pi+1之间有边相连,求一组新的序列V,V为原序列P的子集(通过删除P中某些元素获得), 且顺序遍历V序列中的各个顶点时,P序列这组路径是遍历所有V序列顶点的最短路径,输出V序列元素的个数和V序列各个元素。...

2019-08-22 02:11:52 164

原创 hdu 6214 Smallest Minimum Cut(最小割的最少边数)

题目大意是给一张网络,网络可能存在不同边集的最小割,求出拥有最少边集的最小割,最少的边是多少条?思路:题目很好理解,就是找一个边集最少的最小割,一个方法是在建图的时候把边的容量处理成C *(E+1 )+1,C是初始容量,E是边的个数,假设之前不做此操作处理求得最大流是maxf,处理之后跑dinic求出的最大流就是 maxf *(E+1)+ n , n就代表用了几条边,其中 n 必定是小于 E+...

2019-08-20 14:37:00 216

原创 扩展欧几里得求解同余方程(poj 1061)

设方程 ax + by = c , 若 gcd(a,b) 是 c的因子(记作gcd(a,b)|c)则方程有解,反之无解。其中x0,y0是方程的一组特解 , d = gcd(a,b),poj1061模型转化为(n-m)* t + L * k = x - y ,其中t和k是未知参数,形同ax+by = c 的形式,用extgcd即可求出x的一个特解,再通过这个特解找到x的最小正整...

2019-08-18 13:23:21 156

原创 poj 3281Dining(网络流 拆点)

题目链接:http://poj.org/problem?id=3281题目大意:John养了N只奶牛,他为奶牛准备了F个食物和D个饮料,但是每只奶牛只对其中的一些饮料和食物感兴趣,现在请制定一些方案,使得尽可能多的奶牛吃到自己感兴趣的食物和饮料,求出最多满足奶牛的个数。思路:拆点建图跑dinic算法最大流,每只奶牛拆成两个点,例如第Ni个奶牛拆为Ni 和 Ni ’ , Ni和Ni'之间建立...

2019-08-17 14:32:02 122

原创 poj 3057(bfs+二分匹配)

题目链接:http://poj.org/problem?id=3057题目大概意思是有一块区域组成的房间,房间的边缘有门和墙壁,‘X’代表墙壁,‘D’代表门,房间内部的‘ . ’代表空区域,每个空区域站一个人,人可以向上下左右走,每走一步花费一秒钟,现在房间起火了,所有人向四周的门逃生,但是每秒钟一扇门只能通过一个人,每个人移动到门时,就算逃脱,问在选取使得所有人最优的逃生方案时,最后一个逃生...

2019-08-17 00:54:45 136

原创 codeforces 711 D.Directed Roads(tarjan 强连通分量 )

题目链接:http://codeforces.com/contest/711/problem/D题目大意:Udayland有一些小镇,小镇和小镇之间连接着路,在某些区域内,如果从小镇Ai开始,找到一个环,环中每个小镇只经过一次,最终回到了Ai,那么认为这个环是混乱的,现在需要治理这种混乱。可以做的操作是改变环上某个小镇Ak到小镇Aj路的方向,使得无法从Ai开始绕这个环再次回到Ai,那么可以认为...

2019-08-16 00:39:13 140

原创 codeforce 427 C. Checkposts(tarjan 强连通分量)

题目链接:http://codeforces.com/contest/427/problem/C题目大意是有n个junctions,这些junctions之间有m条道路,两两相连,现在在junction上建立Checkposts,而且建立checkposts需要花费cost,如果某个点 i 建立了checkpost那么从这个点 i 开始绕一个环最终可以回到点 i ,那么途中经过的点都可以被监视...

2019-08-16 00:13:40 287

原创 poj 2195 Going Home(最小费用流)

题目链接:http://poj.org/problem?id=2195题目大意是给一张网格,网格中m代表人,h代表房子,网格中的房子和人数量相等,人可以向上向下走,每走1步花费加1,每个房子只能住一个人,问使得所有人住房子里最少的花费是多少?最小费用流的题目,最大流跑spfa,每个人和每个房子之间建边,边的流量为1,花费是人到房子的距离,假定一个源点和一个汇点,源点连接所有的人,每条边流量...

2019-08-15 23:22:20 130

原创 hdu1874 (spfa求最短路裸模板题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874很简单的最短路问题,刚刚学习spfa,其实很简单,思想和一维动态规划差不多,数组d[i]表示起点s到i的最短距离,不断用bfs更新这个距离就行,如果终点为t,那么最终d[t]就是起点s到t的最短路。d[i] = min(d[i] ,d[j] + e(i , j) ) ; e(i , j)是 i...

2019-08-14 22:47:48 190

原创 Codeforces 131C . The World is a Theatre(打表组合数)

题目链接:http://codeforces.com/contest/131/problem/C大意就是有n个男孩,m个女孩,从男孩中选不少于4个男孩,女孩中选不少于1个女孩,组成人数为t的队伍,问有几种可能的组合,高中的排列组合题目,组合数和杨辉三角形表是一一对应的,打一个表,依次对应着加和就可以了。AC代码:#include<iostream&g...

2019-08-14 16:31:07 201

原创 hdu 1532 Drainage Ditches(网络流裸题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1532题目大意是:农夫约翰要把多个小池塘的水通过池塘间连接的水渠排出去,从池塘1到池塘M最多可以排多少的水流量,给定水渠和连接的两个小池塘,以及该水渠的流量,求最大流。其实就是裸的最大流,源点是1号池塘,汇点是M号池塘,从1到M做一个dinic算法求出最大流就行,但是我一直WA,怎么也改不对,后...

2019-08-11 17:25:47 110

原创 hdu 1281 棋盘游戏(二分图)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1281每行每列作为节点,给可以放车的点将对应的行列连边,最多可放置的车即为建二分图后的最大匹配,跑一边匈牙利算法即可。第二问重要的棋盘点(其实就是问某个可以放置车的点被删除之后,会不会影响最终放置车的数量),也就是会不会影响二分图的最大匹配数,其实就是删除这个点对应行列连接的边,如果二分图最大匹...

2019-08-08 13:12:35 99

原创 hdu 1045 Fire Net(二分图)

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1045题目大意为给定一个最大为4*4的棋盘,棋盘可以放置堡垒,处在同一行或者同一列的堡垒可以相互攻击,在棋盘上也有城墙,可以隔离同一行同一列堡垒的相互攻击,“X”表示有城墙,“ . ”表示空地,问该棋盘最多可以放置多少个堡垒?此题为二分图匹配问题,但是起初我不知道怎么建图,看题解发现一个规律,同...

2019-08-07 14:45:38 106

原创 codeforces 1198B - Welfare State

题目链接:http://codeforces.com/problemset/status题目大意为有n个市民,每个市民有ai点数财富,以下有q次操作,操作类型为两类,1类:把第p个市民的财富改为x,2类:把所有财富小于x的市民的财富变为x。题目数据量较大,强行n^2暴力模拟会超时,分析题意尝试缩小时间复杂度。观察到在对第i个市民进行最后一次1类操作之后,将不会影响此后的所有第2类操作,也就...

2019-08-06 20:50:30 295

原创 POJ 3177 Redundant Paths (tarjan求边双连通分量)

题目连接:http://poj.org/problem?id=3177题目大意是给定一些牧场,牧场和牧场之间可能存在道路相连,要求从一个牧场到另一个牧场要有至少两条以上不同的路径,且路径的每条path是分立的独立的,意为不能有公共道路,问最少添加多少条道路达成题目的要求。图论问题,因为题目要求不能有公共道路,就是路径不能有公共边。题目转化为求图的边双连通分量,每个边双连通分量内各个牧场肯定...

2019-08-02 22:46:37 239

空空如也

空空如也

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

TA关注的人

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