- 博客(19)
- 收藏
- 关注
原创 CodeForces 387D George and Interesting Graph
题意:一幅有趣的图的定义为有向无自环图 它有个根 根与每个点有去边和回边 除根外每个点入度出度都是2为了将一幅图变有趣 每次操作可以删边或加边 求 最少几次操作能使所给图变有趣思路:我把它当离散数学题做了半天 结果始终是WA… (想必是有一些猜想是错的…)某位大神说他这题用匈牙利算法解的 于是得到启发如果我把根那个点和它连着的边删掉 那么每个点就
2014-01-31 17:14:16 1451
原创 CodeForces 387C George and Number
题意:在数组里任选两个数字 将大的数字在前小的在后拼成一个数字(如:31和20 拼成3120) 这样往复的做 直到数组就剩一个元素 现给你这个最后的元素 问 数组最初最多能有多少个元素思路:明显的贪心 因为每次找两个数字去拼成一个大数字 所以我可以第一步拼成一个大数字 然后用这个数字当接下来选的两个数字中的大数字再拼 然后再选它当大数字再拼直到最后因此贪
2014-01-31 13:27:43 1143
原创 USACO Section 3.2 Stringsobits
题意:N位二进制数1的个数不超过L个 求 第i个数是多少思路:一开始以为是用二进制暴力就行 事实证明我是213 - -b这题就应该去构造 但是简单的用dfs构造然后计数还是会TLE 因此想到去组合假如现在想求第k位是0还是1 可用的所有的1全在1~k-1位的种类数为x 如果x如此就可以先dp打一个杨辉三角的组合数表 然后根据不同位置形成的种类数判断0
2014-01-29 17:51:25 689
原创 USACO Section 3.2 Factorials
题意:求n!的最后一个非0数字是多少思路:一看n最大才4220 我就暴力高精模拟阶乘了 而且数字只有10000+位长 也能存下 水过这里记录下最优思路 题目要求最后非0 那么我们只需除去所有的2*5 易知2一定比5多所以只需要不停地乘 而且只需要保留个位即可(没有2*5个位不可能乘出0) 最后乘上比5多的2的个数就行我的暴力代码:
2014-01-29 16:42:16 674
原创 CodeForces 386D Game with Points
题意:N个点的图 每个点有一个标号 每两个不同的点有一条有颜色的路 有三个石头放在不同的点上 石头可移动 移动规则为一个石头可以沿一条有颜色的路走到另一个点 前提是这条路的颜色与其他两个石头之间的路的颜色相同 问 最快多少步可以将石头摆在标号为1、2、3的点上 输出步数和移动的路径思路:直觉是搜索题 要求“最快” 所以用bfs 记录状态就用三个石头当前所
2014-01-29 15:45:10 808
原创 CodeForces 385E Bear in the Field
题意:一只熊从(sx,sy)开始走 速度为(dx,dy) 每一秒钟速度的两个维度同时加上所在坐标的和(即 +x+y)然后走一步求 T秒钟后熊站在哪思路:T无比的大不可能是暴力的 于是想到两个可能一是这个路径有循环有规律可以排除好多步二是能构造出一个表示他行为的矩阵用快速幂做由于规律很难找到 所以可以列一下他的状态变化 (x,y,dx,dy,i) 表示
2014-01-28 23:06:09 962
原创 CodeForces 385D Bear and Floodlight
题意:从坐标(L,0)到坐标(R,0)直线行走 走过的地方必须被N盏灯里的至少1盏照亮 每盏灯有一个位置坐标 照亮方向任意且可照亮无限远 但只有一个固定的照明角度 求最远走多远思路:灯的数量只有20 这是突破口 可以状态压缩 用dp[i]表示i状态时走的距离 i的二进制形式中1表示对应灯亮那么最后答案就是dp[(1i) )实现时用bfs维护dp就好
2014-01-28 12:58:58 1083
原创 CodeForces 385C Bear and Prime Numbers
题意:N个数 每个数x[i]对能整除的素数p贡献1 (即p得一分) M个询问 每个询问输出[L,R]区间内所有素数的得分之和思路:数据这么大明显离线处理M个询问 将N个数字的素数因子全都找出来并计算完贡献得分即可简化处理询问综上思路及x[i]的大小可知必须先打素数表 然后枚举N个数 找出所有素数因子 计算贡献得分最后每个询问[L,R]就是 sum(R) -
2014-01-27 19:20:21 1051
原创 USACO Section 3.1 Shaping Regions
题意:许多不同颜色的矩形放在桌上(可能重叠) 求 能看见的颜色和它的面积思路:桌子最大 1W*1W 朴素的做一定会TLE然后我的直觉告诉我这题是二维线段树 因为要解决区域覆盖问题可能是由于今年长春站就死在这上对这个很敏感 - -b 不过区域还是太大 空间不够会MLE因此再想其他方法 发现矩形的数目较少可以从此入手很容易想到 后加进来的矩形会覆盖前
2014-01-26 20:13:46 655
原创 USACO Section 3.1 Humble Numbers
题意:已知一个集合S 由S的任意子集作为因子 可构造出一个数字 求 这些构造出的数字中第k大的数字是多少思路:拿到这题就被“数字不是很多而且比较连续暴力枚举就好”这个思路迷惑了 果断TLE…跪了一次后想到通过bfs构造可取 这时用了queue维护bfs 用priority_queue维护答案(大顶堆 内部最多k个数字) 用set判重复(5*2=2*5)
2014-01-25 12:06:13 637
原创 USACO Section 2.3 Fractions to Decimals
题意:已知分子分母 求 该数字的小数形式 要求如果是循环小数用()表示出循环节思路:不循环小数容易处理 循环小数需要找出哪里是循环节 想象笔算除法的方法可以知道当被除数的状态再次出现 则表示进入循环 用此方法即可记录状态时候数组开的大点(我还用了map来映射该状态对应的位置)因为循环节不一定什么时候出现… 我不会算…注意:USACO对
2014-01-24 16:09:53 633
原创 USACO Section 2.3 Cow Pedigrees
题意:N个节点 深度为K 的正则二叉树 求 树有几种形态思路:一开始以为是数学题… 看了byvoid的题解才知道是dp…每棵树由根节点、左子树、右子树构成 由此得状态转移 树=左子树*右子树节点数和深度是影响答案的属性 所以令dp[i][j]表示i个节点深度在j以内的树的形态数深度在j以内的树又两个深度在j-1以内的树和一个根节点构成设左子树k个
2014-01-23 11:28:14 642
原创 USACO Section 2.3 Longest Prefix
题意:给你一大堆小字符串 和 一个大字符串 求 使用小字符串能拼出的大字符串的前缀最长是多少思路:由于数据不大 所以可以尝试扫描大字符串 每到一个位置用小字符串拼一下看看能拼多长 拼的最远距离就是答案我用trie树来存小字符串集合 扫描大字符串时 如果该位置是可以向后延伸的(即之前能拼到这个位置)那么我用一个标记在trie树上爬 每次发现一个小字符串
2014-01-22 22:32:05 792
原创 CodeForces 386C Diverse Substrings
题意:一个字符串的价值等于它包含的不同字母的个数(abcdabcdabcd 的价值为4)给你一个字符串 求该字符串所有子串的价值输出最大的价值是多少 再分别输出价值为x的字符串有多少个思路:MAXstringlen=3*10^5 数据较大 所以我首先尝试可否从左到右扫描一遍每次添加一个字符的想法但是最简单的加一个字符回头判断一下价值为x的字符串增加了多少个复
2014-01-20 13:03:48 902
原创 USACO Section 1.5 Checker Challenge
题意:N皇后问题 输出 字典序最小的3种解法 和 解的数量思路:dfs去放皇后判断和前面的皇后是否冲突题目时间卡的超级很近!! 简单的搜索一定跪 能剪的地方要拼命剪枝!!列举我的剪枝:1.直接按字典序搜索 最先搜到的3个解保证字典序最小 直接输出2.通过上几行皇后的放法 求出现在这行有几个位置能放皇后 之后进行搜索(这是关键!! 千万不要先搜位
2014-01-19 16:32:55 751
原创 USACO Section 1.5 Prime Palindromes
题意:输入a和b 求 a和b之间所有既是素数同时又有回文性质的数 从小到大输出思路:如果枚举a到b之间所有的数再判断素数和回文那么复杂度会比O(n)还大 本题O(n)都会跪因此思路转到能否 先得到所有素数再判断回文 或者 先得到所有回文的数在判断素数本题我的做法是后者 说下原因本题b最大为10^8 因此构造回文的数字可以枚举1~10000中的数字再对数字翻
2014-01-19 14:07:07 706
原创 CodeForces 382D Ksenia and Pawns
题意:有一副棋盘 每个格子上有方向 要求在棋盘上放两个人 两个人按照方向同时走 得分为两人步数之和规定除了停止格子‘#’以外每个格子只能容下一个人 求最大的得分 如果得分无穷大则输出-1思路:1.很容易想到 一旦把人放在棋盘上 他的路线就固定了2.如果棋盘上的路线有一个环 那么至少可以让一个人在环里不停走 即有环则输出-13.棋盘上没有环则有正常
2014-01-18 13:34:34 938
原创 USACO Section 1.4 Packing Rectangles
题意:已知4个矩形的l和w 矩形可以旋转和平移 用一块最小面积的新的矩形覆盖4个矩形求最小的面积 以及新矩形的l和w思路:题目已经给出6种摆放方式 按它的方式摆即可我们要枚举4个矩形是否旋转(只转90度)过 然后枚举每种摆放方式中矩形的编号代码中的枚举方法是二进制枚举旋转 全排列枚举编号最后计算所有情况中的答案第6种摆放方式比较难想 大致思路就
2014-01-17 19:15:10 709
原创 CodeForces 379D New Year Letter
题意:构造 s1 和 s2 两个字符串使他们满足要求:1. s1 长度 n s2 长度 m2.如果按照 s[i] = s[i-2] + s[i-1] 的方法构造字符串(“+”就是 strcat ) 那么 s[k] 中必须正好出现 x 次字符串 “AC”如果能构造出来就输出 s1 和s2 如果不能就输出 新年快乐思路:由于 “AC” 字符串只有两个字符 所
2014-01-04 15:52:05 907
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人