07 2017 档案

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3047 【题意】 http://blog.csdn.net/hj1107402232/article/details/9921311 【Accepted】 1 #include<iostream> 2 #inclu 阅读全文
posted @ 2017-07-30 23:43 shulin15 阅读(131) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/M 【Accepted】 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 阅读全文
posted @ 2017-07-30 22:36 shulin15 阅读(138) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/K 【Accepted】 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 阅读全文
posted @ 2017-07-30 19:42 shulin15 阅读(196) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/J 【题意】 给定n个木棍,问这些木棍能否围成一个正方形 【Accepted】 1 #include<iostream> 2 #include<cstdio> 3 #include< 阅读全文
posted @ 2017-07-30 19:13 shulin15 阅读(227) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/I 【题意】 给定一个n*m的迷宫,A的多个小伙伴R要去营救A,问需要时间最少的小伙伴是多长时间 遇到'.'需要1分钟,遇到'x'需要两分钟,遇到'#'不能走 【思路】 这道题的关键 阅读全文
posted @ 2017-07-30 15:30 shulin15 阅读(302) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6055 【题意】 给定n个格点,问有多少个正多边形 【思路】 因为是格点,只可能是正方形 枚举正方形的对角线,因为有两条对角线,最后答案要/2 也可以枚举正方形的边,因为有四条边,答案要/4 看当前对角线确定的正方 阅读全文
posted @ 2017-07-28 23:36 shulin15 阅读(261) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6047 【题意】 给定两个长度为n的序列a和b,现在要通过一定的规则找到可行的a_n+1.....a_2n,求sum{a_n+1.....a_2n}的最大值 每次从序列b中选择一个数bk,那么构造的ai就是max{ 阅读全文
posted @ 2017-07-28 23:17 shulin15 阅读(244) 评论(0) 推荐(0) 编辑
摘要:https://vjudge.net/contest/174235#problem/D 【题意】 给定n个已知size的帆布,要给这n块帆布涂上不同的颜色,规则是这样的: 每次选择一种颜色C 对于颜色为C的所有帆布都要涂上颜色,其中前F个涂为颜色X,剩下的涂为颜色Y,X和Y都是不同于任何已知颜色的颜 阅读全文
posted @ 2017-07-28 23:05 shulin15 阅读(182) 评论(0) 推荐(0) 编辑
摘要:https://vjudge.net/contest/174235#problem/H 【题意】 求[x,y]之间有多少个Sheldon Number Sheldon Number是二进制满足以下条件的数: 可以写成ABABAB . . . ABA或ABABAB . . . AB,其中,A是连续的n 阅读全文
posted @ 2017-07-28 22:30 shulin15 阅读(164) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5542 【题意】 给定长为n的序列,问有多少个长为m的严格上升子序列? 【思路】 dp[i][j]表示以a[i]结尾的长度为j的严格上升子序列有多少个 dp[i][j]=sum{dp[k][j-1]},k小于i且a 阅读全文
posted @ 2017-07-26 19:28 shulin15 阅读(339) 评论(0) 推荐(0) 编辑
摘要:acm.hdu.edu.cn/showproblem.php?pid=5542 【Accepted】 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<algorithm 阅读全文
posted @ 2017-07-26 14:57 shulin15 阅读(145) 评论(0) 推荐(0) 编辑
摘要:https://vjudge.net/contest/68966#problem/J 【Accepted】 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<cmath> 阅读全文
posted @ 2017-07-23 19:16 shulin15 阅读(188) 评论(0) 推荐(0) 编辑
摘要:https://vjudge.net/contest/171652#problem/K 【题意】 小岛上有n个人,有些是好人(一定是真话),有些是坏人(可能是真话也可能是假话),现在要判断最多有多少好人 每个人说话有四种形式: 1. Person i: Person x is a good guy. 阅读全文
posted @ 2017-07-22 20:21 shulin15 阅读(341) 评论(0) 推荐(0) 编辑
摘要:https://vjudge.net/contest/171652#problem/J 【题意】 问有多少个正整数对(x,y),使得存在正整数p,q满足 1 <= T <= 15 1 <= M <= 800,000 【思路】 M最多8e5,所以考虑枚举x,只有1e3个 对于某个x,有多少对(x,y) 阅读全文
posted @ 2017-07-22 17:31 shulin15 阅读(396) 评论(0) 推荐(0) 编辑
摘要:http://acm.fzu.edu.cn/problem.php?pid=2270 【题意】 给定6到10个点,从中选出6个不同的点组成两个三角形,使其中一个三角形可以通过另一个三角形平移和旋转得到。问有多少种不同的三角形选法? 【思路】 全等 排除对称 【Accepted】 1 #include 阅读全文
posted @ 2017-07-20 11:47 shulin15 阅读(429) 评论(0) 推荐(0) 编辑
摘要:http://acm.fzu.edu.cn/problem.php?pid=2271 【题意】 给定一个n个点和m条边的无向连通图,问最多可以删去多少条边,使得每两个点之间的距离(最短路长度)不变。 【思路】 首先对于多重边可以只保留最短的边,剩下的都删去 跑一次Floyd,用vis数组记录哪些边可 阅读全文
posted @ 2017-07-19 14:00 shulin15 阅读(267) 评论(0) 推荐(0) 编辑
摘要:https://www.codechef.com/problems/FNCS 【题意】 【思路】 把n个函数分成√n块,预处理出每块中各个点(n个)被块中函数(√n个)覆盖的次数 查询时求前缀和,对于整块的分块求和,剩下右边不构成完整的一个块的树状数组求和 预处理:计算每个块中,序列中的第i个点被块 阅读全文
posted @ 2017-07-19 12:48 shulin15 阅读(187) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/gym/101341 【题意】 给定三个方阵A,B,C,问AB=C是否成立? 方阵的规模最大为1000 【思路】 求AB的时间复杂度为n*n*n,会超时 左乘一个一行n列的向量,时间复杂度降为n*n 【Accepted】 1 #include<iostre 阅读全文
posted @ 2017-07-18 18:34 shulin15 阅读(320) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/G 【题意】 已知人的坐标在(0,0),靶的位置在(x,y),人以速度v射箭并且射中靶,求v与x的夹角。 【思路】 经典的三分+二分题 先三分求出纵坐标最大时的sita,如果这时的纵 阅读全文
posted @ 2017-07-17 09:55 shulin15 阅读(232) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/F 【题意】 给定n个已知半径的披萨,有m个人要分这n个披萨 要求每个人分到的面积同样大 每个人只能取“一块”披萨上的一部分(或整块披萨),不能从A披萨取一点,再从B披萨取一点 【思 阅读全文
posted @ 2017-07-16 20:11 shulin15 阅读(213) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/E 【题意】 裸的最大匹配 【教训】 一开始边数开了k,建的是无向图,结果T了,改成2*k就A了 其实如果add(u,v+n)可以用无向图(注意边数)也可以用有向图。 如果add(u 阅读全文
posted @ 2017-07-16 18:43 shulin15 阅读(259) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/D 【Accepted】 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 阅读全文
posted @ 2017-07-16 17:25 shulin15 阅读(180) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/C 【题意】 给定一个无向图,给定小偷的起始位置 从这个起始位置开始,小偷可以在单位时间内逃到相邻的点 问是否存在某一时刻,小偷可能到达这个无向图的任意点 【思路】 首先这个无向图必 阅读全文
posted @ 2017-07-16 16:47 shulin15 阅读(232) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2444 【DFS染色】 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<cmath 阅读全文
posted @ 2017-07-16 16:02 shulin15 阅读(178) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/contest/828/problem/C 【题意】 【思路】 因为题目保证一定有解,所有优化时间复杂度的关键就是不要重复染色,所以我们可以用并查集维护区间,把确定的点的父亲节点设为下一个点,这样访问过的点的根节点都是没访问过的点。 与上一题是同样的思路, 阅读全文
posted @ 2017-07-15 22:04 shulin15 阅读(246) 评论(0) 推荐(0) 编辑
摘要:http://codevs.cn/problem/1191/ 【思路】 每次我们染了一个区间,下一次如果还要染这个区间或者它的子区间的话,我们就不用处理了。这样我们可以把每一个区间抽象成一个点,用并查集来维护。合并时将[L,R]区间全部合并,[L,R]区间的每个点的父节点都通过路径合并变成L-1,然 阅读全文
posted @ 2017-07-15 20:50 shulin15 阅读(306) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/problem_show.php?pid=25653 【题意】 给定一个3*3的九宫格,模拟一个停机坪。第一个格子一定是'*',代表take off area,其他的格子可能是'*','B','G'中的一种,'*'代表空地,'B','G'代表蓝色和绿 阅读全文
posted @ 2017-07-15 18:51 shulin15 阅读(260) 评论(0) 推荐(0) 编辑
摘要:http://poj.org/problem?id=1611 【Accepted】 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include <string> 6 usin 阅读全文
posted @ 2017-07-11 22:52 shulin15 阅读(137) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/contest/612/problem/D 【题解】 http://blog.csdn.net/strokess/article/details/52248062 【题意】 在数轴x上,给定n个线段和一个值k,问被这n条线段覆盖了至少k次的区间有多少个,输 阅读全文
posted @ 2017-07-11 12:23 shulin15 阅读(192) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5124 【题意】 在数轴x上,每次操作都覆盖一个区间的所有点,问被覆盖次数最多的点是覆盖了多少次 【思路】 最简单的扫描线,左右端点分别排序,遇到左端点sum++更新最值,遇到右端点sun--更新最值 【Accep 阅读全文
posted @ 2017-07-10 22:14 shulin15 阅读(144) 评论(0) 推荐(0) 编辑
摘要:转自http://www.cnblogs.com/chanme/p/4457200.html H. Game Alice likes to play games. One day she meets such a game. There are N * N switches arranged in 阅读全文
posted @ 2017-07-09 20:53 shulin15 阅读(674) 评论(0) 推荐(0) 编辑
摘要:http://acmoj.shu.edu.cn/contest/27/problem/113/ 描述 有一天,空和白很无聊,决定玩盛大游戏,考虑到两个人玩,他们随便掏了一个游戏出来:在一个n∗m 的棋盘上,首先把史蒂芬妮·多拉放在左上角(1,1) 的位置。每次一个人可以将她往下,往右,往右下丢一格。 阅读全文
posted @ 2017-07-09 20:34 shulin15 阅读(266) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9149#problem/I 【题意】 给定长度为l的一个数组,初始值为0;规定了两种操作: 【思路】 找到了一个讲解很清楚的博客http://www.cnblogs.com/flipped/p/HDU494 阅读全文
posted @ 2017-07-07 18:07 shulin15 阅读(467) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9149#problem/F 【题意】 给定n个人和m个星球,每个人可以匹配某些星球,每个星球有一定的容量限制,问能不能找出一种人和星球匹配的可行方案。 【思路】 裸的最大流。但人最多有1e5个,直接跑最大流 阅读全文
posted @ 2017-07-07 17:56 shulin15 阅读(221) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9149#problem/H 【题意】 给定一个数组,查询任意区间内不同数字之和。 (n<=30000,Q<=100000,每个数字<=1 000 000 000) 【思路】 要算任意区间内不同数字之和,如果 阅读全文
posted @ 2017-07-07 15:42 shulin15 阅读(206) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9149#problem/G 【题意】 给定一个数组a,问这个数组有多少个子序列,满足子序列中任意两个相邻数的差(绝对值)都不大于d. 【思路】 首先,朴素的dp思想: dp[i]为以a[i]结尾的子问题的答 阅读全文
posted @ 2017-07-06 22:51 shulin15 阅读(227) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9149#problem/G 【题意】 给定两个长度相同的字符串A,B。每次操作都能把A中的任意一个子段变成相同的字符,问最少操作多少次A能变成B? 【思路】 ************************ 阅读全文
posted @ 2017-07-06 21:11 shulin15 阅读(270) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9148#problem/F 【题意】 给定一个矩阵,每个格子的初始值为1。现在可以对矩阵有四种操作: A x y n1 :给格点(x,y)的值加n1 D x y n1: 给格点(x,y)的值减n1,如果现在 阅读全文
posted @ 2017-07-05 22:50 shulin15 阅读(221) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9148#problem/I 【题意】 给定n个操作数和n-1个操作符,组成一个数学式子。每次可以选择两个相邻操作数及中间的操作符进行运算,如a-b变成一个数(a-b),直到这个式子变成一个数。同一个初始式子 阅读全文
posted @ 2017-07-05 21:08 shulin15 阅读(687) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9147#problem/E 【题意】 给定n个点的坐标,可以选择其中的四个点构造凸四边形,问最多能构造多少个凸四边形? 【思路】 凸四边形的个数等于C(n,4)-凹四边形的个数。 凹四边形的特点是有一个顶点 阅读全文
posted @ 2017-07-04 22:48 shulin15 阅读(361) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9147#problem/F 【题意】 给定一个字符串,问在字符串后最少添加多少个字母,得到的新字符串能是前缀循环的字符串。 【思路】 这道题的关键是要理解KMP中的nxt数组什么含义。 nxt[i]就是以i 阅读全文
posted @ 2017-07-04 22:01 shulin15 阅读(197) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9147#problem/C 【题意】 初始时有n个数,定义操作为从n个数中取出两个数x,y,如果|x-y|不在set中,操作就是合法的,并且把|x-y|加到set里。最后不能操作的人输。A和B轮流操作,A先 阅读全文
posted @ 2017-07-04 21:54 shulin15 阅读(284) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9147#problem/D 【题意】 为了集齐n张卡片,必须要买多少袋零食?题目给定每种卡片出现在零食中的概率。 【思路】 以2张卡片为例,dp[00]表示要从00->11需要的零食数,则初始化dp[11] 阅读全文
posted @ 2017-07-04 21:45 shulin15 阅读(178) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9147#problem/H 【题意】 在一个长为H,宽为W的白墙上选一个矩形区域涂颜色,后涂的颜色会覆盖先涂的,题目给出n(n<=100)个矩形区域和对应的颜色。 求最后墙上每种颜色的面积是多少,共有多少种 阅读全文
posted @ 2017-07-04 19:42 shulin15 阅读(366) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9146#problem/G 【题意】 题意很简单,就是“鸽尾式”洗扑克,问洗m次各张牌的位置 【思路】 牌是有限的,所以这个置换一定是有周期的。s1和s2中固定位置总会被置换到Shuffle中的固定位置,比 阅读全文
posted @ 2017-07-04 10:02 shulin15 阅读(218) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9146#problem/C 【题意】 给定一个数D,每次随机选取这个数的一个因子x得到新的数D=D/x,知道D变成1,问操作步数的期望 【思路】 dp[50]=(dp[1]+dp[2]+dp[5]+dp[1 阅读全文
posted @ 2017-07-04 09:54 shulin15 阅读(218) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9146#problem/D 【题意】给定n1个A,n2个B,排成一排,要求A最多能连续k1个紧挨着,B最多能连续k2个紧挨着。问排队的方案数。 【思路】dp。dp[i][j][k][l]表示当前已经排了i个 阅读全文
posted @ 2017-07-04 09:48 shulin15 阅读(213) 评论(0) 推荐(0) 编辑
摘要:https://www.bnuoj.com/v3/contest_show.php?cid=9146#problem/F 【题意】 给定n个城市和m条带权边,q次查询,问某两个城市之间的所有路径中最大边和最小边的差值最小是多少? 【思路】 首先给所有的边从小到大排序,然后枚举最小边,向右遍历各条边: 阅读全文
posted @ 2017-07-04 09:32 shulin15 阅读(227) 评论(0) 推荐(0) 编辑