百度之星
文章平均质量分 79
ccDLlyy
不忘初心,方得始终
展开
-
2017百度之星资格赛 1002 度度熊的王国战略(并查集 or 无向图最小割)
题目链接:点击打开链接题意很容易理解,基本上这个题意就是让你去考虑无向图的最小割,无奈只会用模版,还没想好怎么用堆优化Stoer-Wagner算法,TLE......而且百度把这题的时间放宽到了2000ms,这样还超时,不会优化真尴尬......SW算法用堆优化一般适用于稀疏图,如果是稠密图,优化还可能更费时,看此题的数据,点的个数取值为3 * 10^3,边的个数为10^5,应该是稀疏图的测试原创 2017-08-07 00:25:39 · 1016 阅读 · 0 评论 -
2017百度之星资格赛 1003 度度熊与邪恶大魔王(DP)
题目链接:点击打开链接题目中文,容易理解,不再叙述思路:开始想到的是完全背包,对于每个怪兽,分别去利用完全背包得到最后DP结果,可是怪兽数量(取值1~10^5)太大,复杂度达到O(10^9),所以一定会超时,而且思路不是最佳的正确的解法就是普通的DP,dp[i][t]表示防御力为i(取值0~10),生命值为t(取值1~1000)的怪兽被打败需要的最小晶石数,再加入j(取值1~100原创 2017-08-07 00:26:51 · 676 阅读 · 0 评论 -
2017百度之星资格赛 1004 度度熊的午饭时光(01背包)
题目链接:点击打开链接题意就是 用尽可能多的钱(在预算内),买 得分和 尽可能高的饭(不重样),同时饭的 序号和 尽可能小,序号和一样小的取 字典序 小的方案。用01背包做的,dp[i][j]表示前i个菜品中,花费j元所能购买(正好购买!!!j不能有剩余)的菜品的最高得分和,因为题目有序号和打印具体选择的要求,引入sum[i][j],pre[i][j],sum[i][j]表示在满足最高得分原创 2017-08-07 00:27:45 · 542 阅读 · 0 评论 -
2017百度之星初赛(A)1001 小C的倍数问题(求因子数)
题目链接:点击打开链接题目中文,题意不再详述思路:当p = 10,满足条件的B有1、3、9,可以看出为9的因子,类比可得出其他进制的规律,p进制满足条件的B为p - 1的因子。(数论不好,具体咋证明不知道,自己遇到这种题,基本就是凭经验乱搞......)求一个数的因子数的方法很多:最暴力的就是枚举,数据范围1e9,此办法排除;求出质因子的分解再去确定因子数,因为要进行素数打表预处理,原创 2017-08-15 11:14:42 · 542 阅读 · 0 评论 -
2017百度之星资格赛(A)1005 今夕何夕(日期计算)
题目链接:点击打开链接题目中文,不再详述题意思路:简单的日期计算,基础题。自己这个写法分类讨论多一些,细节多,偏于繁琐,容易出错,听人讨论说,有比较简洁的算法,感兴趣的小伙伴可以上网搜一搜。// 今夕何夕.cpp 运行/限制:15ms/1000ms#include #include #include using namespace std;int month[2][13] =原创 2017-08-15 12:46:22 · 574 阅读 · 0 评论 -
2017百度之星初赛(A) 1006 度度熊的01世界(搜索连通块)
题目链接:点击打开链接思路:一开始看上去难以入手,大胆的暴力bfs/dfs即可,按照题意来,不要想多。题目对图像的定义是,图像0的定义:存在1字符且1字符只能是由一个连通块组成,存在且仅存在一个由0字符组成的连通块完全被1所包围;图像1的定义:存在1字符且1字符只能是由一个连通块组成,不存在任何0字符组成的连通块被1所完全包围。那就按照定义搜索一遍图像同时对不同连通块计数。cnt0表示不被1包原创 2017-08-15 13:10:51 · 470 阅读 · 0 评论 -
2017百度之星初赛(B) 1001 Chess(找规律+递推求组合数)
题目链接:点击打开链接思路:看到这个题呢,开始想的复杂了,可能受八皇后思维的影响,光想着怎么改进八皇后的算法,利用搜索去解题,此题的棋盘规模大,利用搜索和八皇后的思维肯定超时,而且一开始对题意有疑问,“摆最多个数的車“,何为最多个数?最后想不起来怎么修改算法,就去考虑,会不会是递推题或者分治题或者规律题?仔细一想,还真有规律可求,最多个数,就是这个棋盘最多放多少車,求在棋盘放这个数量車的方案数原创 2017-08-15 13:38:34 · 502 阅读 · 0 评论 -
2017百度之星初赛(B) 1006 小小粉丝度度熊(尺取法)
题目链接:点击打开链接思路:先将区间处理成不相交区间,补签肯定是要选择相邻的空隙,这样才能使分散的天数连起来从而最大化签到天数,然后再考虑,具体要如何选择呢?DP?看不出状态转移;贪心?局部最优解规则不明显,优先选择签到天数多的或者优先选择空隙大的去补签都不正确;这样看,此题该采用枚举之类的做法?难道暴力枚举被选择空隙的范围?肯定不可以,这样复杂度达到了O(n ^ 2),会超时;其实这里枚举空原创 2017-08-15 22:31:47 · 550 阅读 · 0 评论 -
2017百度之星初赛(B) 1002 Factory(倍增法求LCA)
题目链接:点击打开链接思路:树形图上的最短距离,很容易想到LCA算法,树形图上的两个节点的最短距离是唯一的、确定的,是两个节点到其最近公共祖先的距离之和。直接枚举两个分公司的办公室,两两算出最短路径,取最小值即为结果。具体利用LCA求出最短距离的方法是,先预处理,深搜一遍树形图,得到每个节点距离树根的距离,则最短距离为dist[x] + dist[y] - 2 * dist[ lca(原创 2017-08-15 20:46:01 · 433 阅读 · 0 评论