- 博客(290)
- 收藏
- 关注
原创 Wannafly模拟赛5 A Split 【贪心】
题目:https://www.nowcoder.com/acm/contest/18/A题意:你有一个大小为��的����������,每次你可以从你已有的����������中选择一个大小不为1的����������,设他的大小为��,然后把它分裂成��和��−��,其中1≤��<��,这样你获得的收益是��∗(��−��)给定��,��,求最少分裂几次才能得到至少��的收益分析: 最后分的大小
2017-11-05 18:17:25
1259
原创 “玲珑杯”ACM比赛 Round #22 E【贪心】
题目: http://www.ifrog.cc/acm/problem/1171?contest=1024&no=4 题意: 输入一个字符串,将他重新排列,使得重排之后的字符串的最小表示法,最大。 最小表示法是将字符串循环移动之后,字典序最小的那个。分析: 将所有字母作为一个字母的字符串放进一个multiset,每次取出其中第一个字符串和最后一个字符串,将他们连接放回multiset最后剩
2017-10-31 23:42:08
347
原创 Wannafly 挑战赛第二场 B Travel【最短路 建图】
题目:https://www.nowcoder.com/acm/contest/17/B 题意: 题目描述 精灵王国有N座美丽的城市,它们以一个环形排列在Bzeroth的大陆上。其中第i座城市到第i+1座城市花费的时间为d[i]。特别地,第N座城市到第1座城市花费的时间为d[N]。这些道路都是双向的。 另外,精灵们在数千年的时间里建造了M座传送门,第i座传送门连接了城市u[i]与城市v[i]
2017-10-30 23:27:24
533
原创 Codeforces 873 D Merge Sort 【分治】
题目: http://codeforces.com/contest/873/problem/D题意: 子序列长度为n,归并排序,如果子序列不是有序的,那么就折半,再递归,直到子序列有序,总共递归k次。 给出n和k,求原来的子序列。分析: 归并排序的变形,每次折半直到k为0。代码:#include <iostream>#include <algorithm>#include <string
2017-10-30 00:27:44
369
原创 Codeforces #443 Div.2 C. Short Program 【位操作】
题目:http://codeforces.com/contest/879/problem/C 题意:有一个函数,输入正整数x,经过n(n<5e5)次操作,返回一个正整数,其中操作有三种,和xi(0~1023)进行 ^ | & ,。现在要求你如何在5次操作内 函数的作用和n次操作相同。分析: x的每一位(0/1) 经过n次操作后,变成(0/1),那么就用and or xor 相应的构造一下即可。#
2017-10-27 11:59:26
271
原创 2017 ACM-ICPC西安赛区网络赛 Barty's Computer【哈希】
题目:https://nanti.jisuanke.com/t/17122 题意:一共Q次操作,操作有两种: 1 str : 表示增加一个字符串str(长度一定是偶数) 2 a b c d : 询问有多少个字符串满足str = a + s1 + b + c + s2 + d, 且|a|+|s1|+|b| = |c|+|s2|+|d|, s1, s2可以是任意字符串,空的也可以。 Q <= 3
2017-10-11 13:53:24
316
原创 2017 ACM-ICPC西安赛区网络赛 Xor【根号分治、倍增lca】
题目:https://nanti.jisuanke.com/t/17120 题意:给出树的u,v节点,询问每隔k个取一个节点异或和。分析:大于根号n暴力,小于的话预处理,处理到根的前缀异或和; 也看到有人全暴力卡过去了#include <iostream>#include <algorithm>#include <string>#include <vector>#include <map
2017-10-10 15:42:23
493
原创 Wannafly模拟赛3 贝伦卡斯泰露 【折半搜索+hash,状压dp】
题目:https://www.nowcoder.com/acm/contest/13/B 题意: 给出一个长度为n的数列Ai,问是否能将这个数列分解为两个长度 为n/2的子序列,满足 ∙ 两个子序列不互相重叠。 ∙ 两个子序列中的数要完全一样,{1, 2} = {1, 2},{1, 2} ≠ {2, 1}。分析: 刚开始贪心,第2个序列尽量匹配最左边的数,后来想了想不对。 后来dfs爆
2017-10-10 13:23:10
495
原创 2017 ACM-ICPC西安赛区网络赛 Maximum Flow【打表找规律】
题目:https://nanti.jisuanke.com/t/17118 题意: n个点,任意两点i,j(0≤ii 值 和前一个值的差2 1 13 3 24 5 25 10 56 12 27 17 58 19 29 36 1710 38 211 43 512 45 213 62 1714 64 215 69 516 71 217 136 6518 138 2
2017-10-09 15:13:25
319
原创 “玲珑杯”ACM比赛 Round #21【石子合并O(n^2)】
题目: A – 西方制度DESCRIPTION 法力浮·鳝AK为了开启异世界的大门,踏上了收集五行之灵。众所周知,五行之灵分布在世界的五个方向。因此,在成功获得了土之灵之后,鳝前往西方寻找金之灵。 经过重重难关,鳝终于到达了亚瑟王(Arthur)的安息之地——阿瓦隆(Avalon)。然而,大贤者梅林(Merlin)告知鳝:想要得到金之灵必须说出亚瑟王密码,而密码正是不列颠王国制度的编码,具体是
2017-09-24 21:28:57
277
原创 “玲珑杯”ACM比赛 Round #21 【线段树标记】
1164 - 战舰萝莉 DESCRIPTION 在大战之后,法力浮·鳝AK迅速驾船驶向北海。当然他知道水之灵不可能那么容易得到,正如爱迪生曾说过:“要把BOSS打倒就要准备足够的等级。”所以鳝氪金招募了一队海盗以防战斗。 果不其然,正当鳝看见了水之灵的所在时,一大队舰娘(雾),一大队舰船突然闪现,大战一触即发。 大战前,鳝被对面的boss——北方栖姬吸引了,北方栖姬是一个可爱的小萝莉,实力却
2017-09-24 21:19:19
194
原创 hdu 4747 Mex【线段树】
题目http://acm.hdu.edu.cn/showproblem.php?pid=4747题意给出一个序列,mex{}表示集合中没有出现的最小的自然数。然后 求sigma(mex (i , j)).分析在递推专题中看到这个题的,想了半天怎么感觉线段树可做啊,搜题解,果然线段树可做,递推做法有点神啊。copy的题解: 考虑左端点固定时的所有区间的mex值,这个序列是一个非递减了。。。首先要明白
2017-08-28 00:08:15
357
原创 线段树入门题
发现窝的博客没有线段树模版题,于是乎摘抄一下《【完全版】线段树》单点更新:最最基础的线段树,只更新叶子节点,然后把信息用PushUP(int r)这个函数更新上来hdu1166 敌兵布阵 题意:O(-1) 思路:O(-1) 线段树功能:update:单点增减 query:区间求和hdu1754 I Hate It 题意:O(-1) 思路:O(-1) 线段树功能:update:单点替换 q
2017-08-27 23:45:49
495
原创 zoj 3747 Attack on Titans【递推好题】
题目http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5170题意给n个士兵排队,每个士兵三种G、R、P可选,求至少有m个连续G士兵,最多有k个连续R士兵的排列的种数。分析先把问题都转化成至多连续的情况:至多k个连续R,至多n个连续G情况 【减去】至多k个连续R,至多(m-1)个连续G情况。//dp[i][0]表示第i个为G,至多有
2017-08-27 14:03:40
308
原创 hdu 4489 The King’s Ups and Downs【递推】
题目http://acm.hdu.edu.cn/showproblem.php?pid=4489题意给一个n,求n个高矮不同的人排成一排使得高、矮依次排列的种数。分析我们不妨把n个人的身高设为1~n, 然后从低到高插入队列。 那么将第i个人插入队列的时候就出现了问题, 插入的这个位置需要满足前面两个是高低, 后面两个是低高。所以我们用DP来记录。 用d[i][0] 表示i个人的队列, 结尾为高低的方
2017-08-27 11:35:35
408
原创 hdu 4055 Number String【递推】
题目http://acm.hdu.edu.cn/showproblem.php?pid=4055题意给一个n,求n个高矮不同的人排成一排使得高、矮依次排列的种数。分析定义dp[i][j]表示在这个排列中第i个数字以j结尾的,满足条件的子排列有多少个。如果第i个字符是‘I’,那么明显可以得到dp[i][j]=dp[i-1][j-1]+dp[i-1][j-2]+……+dp[i-1][1]。如果第i个字符
2017-08-26 22:33:05
197
原创 hdu 6108 小C的倍数问题【一个数的因子个数】
题目http://acm.hdu.edu.cn/showproblem.php?pid=6108题意Problem Description 根据小学数学的知识,我们知道一个正整数x是3的倍数的条件是x每一位加起来的和是3的倍数。反之,如果一个数每一位加起来是3的倍数,则这个数肯定是3的倍数。现在给定进制P,求有多少个B满足P进制下,一个正整数是B的倍数的充分必要条件是每一位加起来的和是B的倍数。I
2017-08-23 21:18:22
298
原创 hdu 6113 度度熊的01世界【搜索好题】
题目http://acm.hdu.edu.cn/showproblem.php?pid=6113题意Problem Description 度度熊是一个喜欢计算机的孩子,在计算机的世界中,所有事物实际上都只由0和1组成。现在给你一个n*m的图像,你需要分辨他究竟是0,还是1,或者两者均不是。图像0的定义:存在1字符且1字符只能是由一个连通块组成,存在且仅存在一个由0字符组成的连通块完全被1所包围。
2017-08-23 20:45:46
229
原创 hdu 6153 A Secret【KMP/想法题】
题目http://acm.hdu.edu.cn/showproblem.php?pid=6153题意给定两个串,求其中一个串 s 的每个后缀在另一个串 t 中出现的次数。分析后缀S(i..len)出现在后缀S(i-1…len)中,所以把两个串逆序后求KMP,这样从头扫到尾匹配一下,然后统计前缀出现的次数即可。代码#include <cstdio>#include <set>#include <i
2017-08-22 22:04:30
195
原创 hdu 6154 CaoHaha's staff【找规律】
题目http://acm.hdu.edu.cn/showproblem.php?pid=6154题意在笛卡尔坐标系下,画一个面积至少为 nn 的简单多边形,每次只能画一条边或者一个格子的对角线,问至少要画几条。分析至少 4 条边才能围成封闭图形,然后考虑对于每一条边,最多能围成的面积。如果是偶数条边,那么就是使得两条边长度差最小得到的面积。如果是奇数条边,那么就是,首先少用一条,然后围成一个偶数条边
2017-08-22 21:50:24
304
原创 hdu 6156 Palindrome Function【数位dp求回文数】
题目http://acm.hdu.edu.cn/showproblem.php?pid=6156题意求2~k进制下在【L,R】范围内的回文数分析数位dp求回文数,注意T范围很大,那么直接记忆进制即可。代码#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;ty
2017-08-22 20:03:42
462
原创 hdu 6118 度度熊的交易计划【费用流模板题】
题目http://acm.hdu.edu.cn/showproblem.php?pid=6118题意Problem Description 度度熊参与了喵哈哈村的商业大会,但是这次商业大会遇到了一个难题:喵哈哈村以及周围的村庄可以看做是一共由n个片区,m条公路组成的地区。由于生产能力的区别,第i个片区能够花费a[i]元生产1个商品,但是最多生产b[i]个。同样的,由于每个片区的购买能力的区别,第i
2017-08-21 22:04:50
221
原创 hdu 6119 小小粉丝度度熊 【想法题】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6119题意:Problem Description 度度熊喜欢着喵哈哈村的大明星——星星小姐。为什么度度熊会喜欢星星小姐呢?首先星星小姐笑起来非常动人,其次星星小姐唱歌也非常好听。但这都不是最重要的,最重要的是,星星小姐拍的一手好代码!于是度度熊关注了星星小姐的贴吧。一开始度度熊决定每天都在星星小姐的贴吧里
2017-08-21 21:45:23
208
原创 【[Offer收割]编程练习赛13 D】骑士游历(矩阵快速幂模板)
题目:http://hihocoder.com/problemset/problem/1504题意:描述在8x8的国际象棋棋盘上给定一只骑士(俗称“马”)棋子的位置(R, C),小Hi想知道从(R, C)开始移动N步一共有多少种不同的走法。 输入第一行包含三个整数,N,R和C。对于40%的数据, 1 <= N <= 1000000对于100%的数据, 1 <= N <= 1000000000 1
2017-04-15 22:29:37
370
原创 Codeforces 711C. Bear and Tree Jumps【树形dp好题】
题目:http://codeforces.com/contest/791/problem/D题意:你可以从树上的节点一次最多走k条边。 (称为跳一次); 树为无权树; 然后问你任意两点之间的条的次数的和为多少; 分析:不会做,看题解:http://codeforces.com/blog/entry/51068 代码:#include <bits/stdc++.h>using namespa
2017-03-24 12:46:48
319
原创 Codeforces 791 C. Bear and Different Names【贪心】
题目:http://codeforces.com/contest/791/problem/C题意:有n个名字,如果连续的k个中有重名,那么就是NO,否则是YES。 现在给出n-k+1个连续的YES和NO序列,要求给出一种符合要求的n个名字。分析:如果是YES的话,那么这k个名字肯定是不同的,如果是NO的话,为了对YES不产生影响,那么就让第i个名字和第i+k-1个名字相同即可。代码:#includ
2017-03-24 11:15:25
330
原创 Codefroces 791B【判断完全图,简单题】
题目:http://codeforces.com/contest/791/problem/B题意:给一个图,判断每个连通分量是不是完全图?分析:其实知道是求完全图就很好做了、判断每个连通分量的是否v*(v-1)==e即可,v是顶点数量,e是边的数量。代码:#include<bits/stdc++.h>using namespace std;bool vis[200005];vector<int
2017-03-24 11:08:21
983
原创 51nod 1677 treecnt【树,组合数】
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1677题意:给定一棵n个节点的树,从1到n标号。选择k个点,你需要选择一些边使得这k个点通过选择的边联通,目标是使得选择的边数最少。现需要计算对于所有选择k个点的情况最小选择边数的总和为多少。分析:考虑边的贡献,如果选择的k个点都在边的同一侧,那么这边没有贡献,否则就有
2017-03-24 10:56:04
325
原创 51nod 1307 绳子与重物 【二分/并查集】
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1307题意:有N条绳子编号 0 至 N - 1,每条绳子后面栓了一个重物重量为Wi,绳子的最大负重为Ci。每条绳子或挂在别的绳子下或直接挂在钩子上(编号-1)。如果绳子下所有重物的重量大于绳子的最大负重就会断掉(等于不会断)。依次给出每条绳子的负重Ci、重物的重量Wi以
2017-03-22 16:41:37
520
原创 51nod 1672 区间交【线段树、multiset】
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1672题意:小A有一个含有n个非负整数的数列与m个区间,每个区间可以表示为li,ri。 它想选择其中k个区间, 使得这些区间的交的那些位置所对应的数的和最大。(具体可以参照样例)在样例中,5个位置对应的值分别为1,2,3,4,6,那么选择[2,5]与[4,5]两个区间
2017-03-21 18:28:55
291
原创 51nod 1670 打怪兽 【递推】
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1670题意:lyk在玩一个叫做“打怪兽”的游戏。 游戏的规则是这样的。 lyk一开始会有一个初始的能量值。每次遇到一个怪兽,若lyk的能量值>=怪兽的能量值,那么怪兽将会被打败,lyk的能量值增加1,否则lyk死亡,游戏结束。 若怪兽全部打完,游戏也将会结束。
2017-03-21 16:37:08
422
原创 51nod 1391 01串【线段树,思维】
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1391题意:给定一个01串S,求出它的一个尽可能长的子串S[i..j],满足存在一个位置i<=x < j, S[i..x]中0比1多,而S[x + 1..j]中1比0多。求满足条件的最长子串长度。 Input一行包含一个只由0和1构成的字符串S。 S的长度不超过100
2017-03-20 17:15:46
532
原创 hdu 5874 Friends and Enemies【二分图,构造】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5874题意:就是有M个人N种颜色的石头 M个人中每两个人 不是朋友就是敌人 现在他们每个人要用石头要串一条项链 要求是 1.朋友之间的项链至少有一个相同颜色的石头 2.敌人之间没有颜色相同的石头 3.项链可以使空的 就是不串石头 问N种颜色的石头能不能满足这M个人分析:其实应该一下子联想到二分图的,
2017-03-20 11:18:49
255
原创 “玲珑杯”ACM比赛 Round #12【dp】
题目:http://www.ifrog.cc/acm/contest/1014 题解:http://www.ifrog.cc/acm/solution/17A签到题。 B。 题意: 给一个长度是n的字符串,有’0’,’1’,’?’,现在要在把?’变成0或1,变0的代价是c0,变1的代价是c1,而且不能有连续的n0个’0’或者n1个1,输入保证有解,问最小代价? 分析: 刚开始以为dp,想
2017-03-19 12:57:04
332
原创 hdu 5409 CRB and Graph 【边连通、缩点重构】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5409题意:一个联通的无向图, 对于每一条边, 若删除该边后存在两点不可达,则输出这两个点, 如果存在多个则输出第一个点尽可能大,第二个点尽可能小的。 不存在输出0 0分析:删除边后不连通,显然是找桥。 对于每一条桥,删掉这条桥之后一定会形成两个连通分量。 可以求这两个连通分量的点的最大值max1和max
2017-03-11 21:14:26
250
原创 hdu 3394 Railway【点双连通分量、桥、割点】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3394题意:有一个公园有n个景点,公园的管理员准备修建m条道路,并且安排一些形成回路的参观路线。如果一条道路被多条道路公用,那么这条路是冲突的;如果一条道路没在任何一个回路内,那么这条路是不冲突的问分别有多少条有冲突的路和没有冲突的路分析: 1.“多余边”不在任何一个环中,那么多余边一定是桥,所以统计这个
2017-03-10 12:43:05
434
原创 poj 3177、3352 【有重边的边连通分量】
题目:http://poj.org/problem?id=3177题意: 为了保护放牧环境,避免牲畜过度啃咬同一个地方的草皮,牧场主决定利用不断迁移牲畜进行喂养的方法去保护牧草。然而牲畜在迁移过程中也会啃食路上的牧草,所以如果每次迁移都用同一条道路,那么该条道路同样会被啃咬过度而遭受破坏。 现在牧场主拥有F个农场,已知这些农场至少有一条路径连接起来(不一定是直接相连),但从某些农场去另外一些
2017-03-10 09:25:10
273
原创 51nod 1076 2条不相交的路径【边连通分量】
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1076题意:给出一个无向图G的顶点V和边E。进行Q次查询,查询从G的某个顶点V[s]到另一个顶点V[t],是否存在2条不相交的路径。(两条路径不经过相同的边) (注,无向图中不存在重边,也就是说确定起点和终点,他们之间最多只有1条路) Input第1行:2个数M N
2017-03-09 19:41:49
460
原创 poj 2553 The Bottom of a Graph【强连通分量】
题目:http://poj.org/problem?id=2553题意:在n个点m条边的有向图里面,问有多少个点是汇点。分析:Tarjan,缩点,判断出度为0的强连通分量,将整个集合排序,输出即可。代码:#include<cstdio>#include<cstring>#include<vector>#include<stack>#include<algorithm>using names
2017-03-09 19:34:45
274
原创 hihoCoder [Offer收割]编程练习赛8【数论,dfs,dp,容斥】
题目:http://hihocoder.com/contest/offers8/problems【我只是简单地mark一下,看详细题解的请戳这里】A题肯定L和D的最大公因数肯定是循环节,然后直接暴力模拟即可。#include<bits/stdc++.h>using namespace std;typedef long long ll;int main() { int T; sc
2017-03-07 19:43:27
407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人