自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 codeforces 915 C PermuteDigits 把a字符串重组小等于b 求最大的a

题目链接:http://codeforces.com/contest/915/problem/C题目大意:输入两个正整数a, b。你可以重组a的每一位。让a<=b。求a的最大值。一定有满足的解。思路:如果长度不同,输出a的最大值就可以了。或者:对于a的前缀没有小于b的前缀时。对于现在的取值要么是a[i]=b[i],或者a[i]=b[i]-1。如果对于a的前缀已经小于b的前缀时,...

2019-10-25 14:45:39 166

原创 codeforces 1221D - Make The Fence Great Again 左右格子高度不同的最小费用dp

题目链接:http://codeforces.com/problemset/problem/1221/D题目大意:q个询问。每次询问给你n个高度为a[i]的栅栏。升高第i个栅栏高度1将花费b[i]。现在要让所有的栅栏高度和相邻栅栏的高度都不同。问最小的费用是多少。思路:由题意可以知道:每个栅栏最多升高两次。那么用dp[i][j]表示第i个栅栏升高j米满足条件的最小费用。#include&l...

2019-10-24 17:54:31 253

原创 codeforces 339 C. Xenia and Weights 三维dp

题目链接:http://codeforces.com/contest/339/problem/C题目大意:在天平上放砝码你要在左边放一下然后到右边放一下一直重复这样放m次每次你放在其中一边都要让另外一边的重量比你少你可以用1~10中的某些砝码问你要怎样放才行,或者告知系统不能放m次思路:开始思路是dp[i][k]表示第i次放砝码k。左右的质量差。后来发现这个差有多个,我们不确定哪...

2019-10-24 12:00:06 156

原创 codeforces 919 D. Substring - 拓扑排序 + dp图上最长路

题目链接:http://codeforces.com/problemset/problem/919/D题目大意:给你一个n点m条边的有向图。每个点有一个字符。一条路的权值为这条路上所以字符出现次最大的那个字符的次数。可能有重边,有自环。可能不连通。求所有路的最大权值。如果可以为无穷大,输出-1。思路:先判断如果有环,输出-1。用拓扑排序就可以了。然后就是一个dp[i][j]表示到第i个节...

2019-10-23 17:04:19 173

原创 codeforces 1132C - Painting the Fence -线段的最大区间覆盖

题目链接:http://codeforces.com/problemset/problem/1132/C题目大意:就是有个n长的栅栏,然后每个油漆工可以染的区域不同给你q让你选出q-2个人使得被染色的栅栏最多思路:Q的范围允许O(n*n)复杂度,先预处理每个格子被覆盖非0次,被覆盖1次,被覆盖2次的情况,再暴力枚举去掉哪两条就ok,假如去掉X和Y两条,那么覆盖数量减少为X和Y交集部分的覆盖2...

2019-10-23 16:07:26 203

原创 codeforces 910 - C. Minimum Sum 思维+贪心

题目链接:http://codeforces.com/contest/910/problem/C题目大意:给你n个用 ‘a’-‘j’ 字符组成的数字。让你用0-9去题换这些数字。让这n个数字的和最小。不能有前导0,保证至少有一种方案满足。思路:直接计算出每个字符的贡献。然后预先分配贡献大的字符小的数字就可以了。注意前导0判断一下不能分配0就可以了。#include<bits/std...

2019-10-22 22:01:06 213

原创 Codeforces 1010C - Border 数论 用n个数组成的数%k的个数

题目链接:http://codeforces.com/problemset/problem/1010/C题目大意:给定n个数Ai,一个整数k,每个数可以用任意次,求这些数的和模K之后有多少种可能,分别是哪些数。思路:从简到繁(1)当存在某个Ai模K等于1时,那答案是K,从0到K-1都可以;(2)当n个数模K都不是1,如果存在Ai % K = x,Ai % K = y,gcd(x,y) = ...

2019-10-22 15:22:33 124

原创 codeforces 1144F. Graph Without Long Directed Paths -染色

题目链接:http://codeforces.com/contest/1144/problem/F题目大意:给你n个点m条边的无向连通图,请你给每个边附一个方向,令图中没有长度>=2的边出现。思路:一个点开始染色 和他相连的点染相反颜色 然后再继续递归下去染色,判断下一节点的颜色和自己的一样不,一样就输出NO,反之能满足题意。1表示与自己相连的边指向自己。在处理边的方向,是一个非常好的...

2019-10-21 22:39:24 158

原创 codeforces 913D. Too Easy Problems 优先队列贪心

题目链接:http://codeforces.com/contest/913/problem/D题目大意:给定n个问题和总时限T,每个问题给定时间ti和限制ai,当解决的问题总数k<=ai时解决这个问题才有效,求在时限T内选择一些问题解决的最大有效问题数。n<=2*10^5,T<=10 ^ 9。那么我们枚举解决的问题数k。那么a[i]>=k的问题我们都可以解决。当然是选...

2019-10-21 18:46:16 154

原创 codeforces 913C. Party Lemonade 二进制记忆化搜索

题目链接:http://codeforces.com/contest/913/problem/C题目大意:有n瓶柠檬水。第i瓶的容量为2^(i-1)。价格为ai。问现在需要买容量>=L的柠檬水。问至少需要多少钱。思路:我们考虑把L拆成二进制。对于第5为1。那么买>=L的容量的水的最小价格为min(F[6], F[7], F[5]+L-(1<<5));预处理F[i...

2019-10-21 12:15:33 200

原创 CodeForces - 702D - 数学推导

题目链接:http://codeforces.com/problemset/problem/702/D题目大意:瓦西里有辆车,他想从家里到邮局。车每行驶k公里就会坏一次。d — 从家到邮局的距离;k — 轿厢在破损前能够行驶的距离;a — 瓦西里在汽车上行驶1公里所花费的时间;b — 瓦西里步行1公里所花费的时间;t — 瓦西里花费在修理汽车上的时间。问从家到邮局需要花费的最小时...

2019-10-19 20:17:40 186

原创 CodeForces - 701D - 数学推导

题目链接:http://codeforces.com/problemset/problem/701/D题目大意:给你n个人,每个人走路的速度v1,有一辆车速度为v2,每次可以载k个人,总路程为l,每个人只能上一次车,问最少需要多少时间把所有人送到终点。我们可以知道所有人应该是一起到达终点的。汽车应该是把一车人运到a长度,返回运其他人也运a长度。那么第一个人和最后一个人是同时到达的。我们假设...

2019-10-19 19:22:48 131

原创 CodeForces - 699D - 并查集判环-修复树序列

题目链接:http://codeforces.com/problemset/problem/699/D题目大意:给你一个建图的序列。a[i]表示i的父节点是a[i]。问你最少改变多少个数字,使得这个图变成一棵树。思路:如果有a[i]=i。那么把i当做默认的根。对于后面的建树序列如果有环,就把环拆开。连向根。如果没有a[i]=i,就把第一个环的节点当做根。后面操作一样。判断环用并查集就可...

2019-10-19 17:17:09 77

原创 CodeForces - 797E - 部分DP

题目链接:http://codeforces.com/problemset/problem/797/E题目大意:给你一个长度为n数组。给你q个询问。每次询问p, k;一次操作p=p+a[p]+k询问多少次操作后。p>n。思路:如果k比较大时:可以枚举。如果k比较小时:可以dp这个大小:sqrt(n)左右。#include <bits/stdc++.h>usin...

2019-10-18 22:09:34 124

原创 map状态判重

题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=83498#problem/B题意大意: 给一个n(&amp;amp;lt;=10)表示两人手中共有n张牌,接下来一行表示第1个人有k1张牌,k1 v1[1] v1[2]…v1[k1], v1[i]表示第i 张牌的大小,第三行表示第2个人 有k2张牌,k2 v2[1] v2[2]…v2[k2...

2019-10-18 12:39:57 624

原创 树形dp-UVA-12186-工人请愿书

题目链接:https://vjudge.net/contest/307650#problem/A题目大意:思路:设d(u)表示让u给上级发信最少需要多少个工人。假设u有k个子结点,则至少需要c=kT/100+(kT%100==0?0:1)个直接下属发信才行。把所有子结点的d值从小到大排序,前c个加起来即可。最终 答案是d(0)。因为要排序,算法的时间复杂度为O(nlogn)。动态规划部分...

2019-10-18 12:39:38 284

原创 CodeForces - 796D bfs-树划分成森林

题目链接:http://codeforces.com/contest/796/problem/D题目大意:有一棵树,有n个消防点。每个点到最近消防点的距离<=d。题目满足这个条件。问你最多可以拆多少条边,使这个条件仍然满足。思路:刚开始我的思路是dfs每个消防点,如果距离>d拆。或者遇到消防点拆。这个思路的问题在:如图d=3,那么拆掉红色的,那么1点就不满足了。正确的思路...

2019-10-18 12:38:39 348

原创 CodeForces - 766D - 并查集

题目链接:http://codeforces.com/problemset/problem/766/D题目大意:给出多个字符串 然后再输入多个字符串之间的关系 让我们判断这其中是否存在矛盾的关系 有矛盾输出NO 没矛盾输出 YES然后再输入多个询问 每个询问 两个字符串 让我们判断其中的关系 同义词输出1 反义词输出2 不确定输出3思路:用长度为2n的并查集就可以了。f[a]为a的同义集合。...

2019-10-17 21:21:11 157

原创 CodeForces - 782E - 图的dfs序列

题目链接:http://codeforces.com/problemset/problem/782/E#include <bits/stdc++.h>using namespace std;vector<int> e[200005], f;bool vis[200005]={0};void dfs(int u){ vis[u]=1; f.pus...

2019-10-17 21:15:04 239

原创 CodeForces - 180E -分类尺取

题目链接:http://codeforces.com/problemset/problem/180/E题目大意:有n个方块,m种颜色,k次机会。每个方块染了一种颜色,现在你可以最多消除k个方块。使相同颜色的连续方块最多。思路:用vector记录每种方块的位置,对每个颜色进行尺取就可以了。#include <bits/stdc++.h>using namespace std...

2019-10-17 21:10:44 161

原创 CodeForces - 121C 康托展开

题目链接:http://codeforces.com/problemset/problem/121/C题目大意:给你一个长度为n,字典序为k的排列。问:这个排列在幸运数字位置为幸运数字的数字有多少个。幸运数字:每位只有4或者7。n, k < 1e9。对于k,我们知道只有最后13位变化。前面可以直接统计,后来用康托展开+暴力统计。#include <bits/stdc++.h...

2019-10-16 20:04:51 120

原创 codeforces-41D dp

题目链接:http://codeforces.com/problemset/problem/41/D题目:给定nm 的矩阵 常数k下面一个nm的矩阵,每个位置由 0-9的一个整数表示问:从最后一行开始向上走到第一行使得路径上的和 % (k+1) == 0每个格子只能向↖或↗走一步求:最大的路径和最后一行的哪个位置作为起点从下到上的路径n, m<=100, k<=10...

2019-10-16 13:08:36 144

空空如也

空空如也

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

TA关注的人

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