09 2014 档案
摘要:开始 有时间 晚上bc比赛也去做了这题 数据很大 虽然也注意到了 但还是一直tle...一开始用set做 tle然后用vector做 tle才发现是应该先去求出gcd(x,y)这样可以减少很多遍历 1 #include 2 #include 3 #include 4 using namespa...
阅读全文
摘要:这题 我是在待字闺中看到的 他介绍了一种使用快排排序后 不断进行匹配的算法这边 我用了下map来做 直接用hash数组也可以我觉得 用hash数组的话 存 删都是O(1)完成 map则是log(n)但是使用hash遍历会需要遍历很多无效字符 而map则使用迭代器 方便很多两者各有优劣吧... 、原题...
阅读全文
摘要:n个元素{1,2,•••,n}有n!个不同的排列。将这n!个排列按字典序排列。并编号为0,1,2.....,n!-1。每 个排列的编号为其字典序的值。例如。当n=3时,其字典排序为:123,132,213,232,312,321,这六个数的字典序值分别为 0,1,2,3,4,5,现给定任意n,输出字...
阅读全文
摘要:这些 无来源的题目 都是来自各大公司 如百度 网易 美图等等公司的面试题 因为实在无法确定来源 只能不注明转载了这题意思就是如 标题所言..我自己写了下 仅供参考 自己测了几组数据 是正确的. 1 #include 2 using namespace std; 3 4 int matrix[11...
阅读全文
摘要:有点 逆向思维的味道... 感觉需要灵光一现..所以 我这边不提示了 -.-代码在下面#include using namespace std;typedef long long LL;int main(){ LL sum , n , x; while( cin >> n >> x ) ...
阅读全文
摘要:这题是 上一题的 recommend 过来的 很水..虽然是多重背包 但是 因为数据太小了 完全可以不用二进制拆分去做我两者都去写了下 ...都是0ms.. 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const i...
阅读全文
摘要:这题 很多人都是用树形dp进行2次dfs做的...我看了他们的解题报告 并没有完全搞懂=-= 我太白痴了 伤..这边 我的解法 利用了一个很重要的性质---树的直径--树上任意两点间的最远距离而同时 将这个直径上的两点x , y确定后 那么 整个树上结点的dist[ i ]也就可以确定了max( d...
阅读全文
摘要:这题 是群里一个人发出来的 我就试着去做了下 他们说 这题蛮水的 我擦了-.-花了很长时间 在原有的代码上 修改了很多 自己测了很多组数据 觉得应该对了我的方法应该是 hash的思想 但这边我是直接用了map去存 也没差 假如有个字符串是abbcda 那么我们应该在遍历到第二个b的时候 计算出此时的...
阅读全文
摘要:距离上一篇博客 过去了5天之久~可能 刚开学吧 心事多 -.-这题呢 是个中文题 我就直接讲下 第二组样例 选取哪4个结点 可以得到解吧 要是没看懂题目意思 这样就可以清晰多了选取的结点编号是 2 3 6 7 权值分别是 1 4 6 2这题呢 本来是个森林 但我们可以引入一个编号0 那么它就成为了根...
阅读全文
摘要:我肯定还没怎么理解树形dp啊...为什么写下去 就感觉是多了个状态转移方程的深搜呢?或者因为树形dp是依托在树这个数据结构上所进行的 所以是这样的?这题 被很多人 当做树形dp的入门题 的确....如果 u 是 v 的前驱即父母 那么dp[u][0] += max( dp[v][1] , dp[v]...
阅读全文
摘要:这题 一定要好好读题啊 不能走马观花...Mirko overheard in the car that one of the roads is under repairs, and that it is blocked, but didn't konw exactly which road---有...
阅读全文
摘要:自己好懒那....这题的主要知识点 应该是 对最小环的运用了这里的图 是无向图无向图的最小环至少有3个顶点有向图的最小环至少有2个顶点这边的做法是用floyd的思想去做我们都知道起初我们用floyd来做的时候都是直接for k -> 1 to n for i -> 1 to n for j...
阅读全文
摘要:这题 出的很好的...将nim和bash这2个经典的博弈策略结合在了一起简要说下 上面这2个博弈适用的条件bash:只有一堆物品个数为n 两个人轮流从这堆物品中提取 规定每次至少取一个 最多取m个 谁取完最后一次 就算谁获胜nim:有三堆物品 两个人轮流从任意一堆中取任意数量的物品 最少一个 谁取完...
阅读全文
摘要:这题....tle到落泪啊后来 discuss里面的一个人 提供了一个链接 一下子 明白了 自己以前怎么没有注意过呢?传送然后 只要按照第二种写法 果然AC了... 虽然时间还是卡的很紧 但起码不是tle了 1 #include 2 #include 3 using namespace std;...
阅读全文
摘要:....历经n发wa之后 终于解脱了这感觉....无法言表...其实 这题你说难吧? 对于我而言 一共就做过一道lca的人来说 是有点难的可是吧 当你慢慢地写下来 其实代码那么长 又不怎么难对于此题 就是先求出query中2个结点的lca之后 然后dfs它们的lca 根据深度进行排序这个其实不难理解...
阅读全文
摘要:这题 我还没有解决如果 谁恰好看到这篇 有好的解决方案 不妨底下留言告诉我-----------------------我看到时间限制是 5500ms 总觉得肯定能过的 1 #include 2 #include 3 using namespace std; 4 5 const int siz...
阅读全文
摘要:这题 绝逼是以前高中学到数列的时候做的难题...就是忘记了 我一开始就直接开了个数组做 导致了mle 然后就觉得应该是去找数学公式了这题的 数学推导过程很复杂的... 我直接写纸上了设Tn = 1 + (1+2) + (1+2+3) + .....(1+2+3+...n)所以发现 效果很差啊...我...
阅读全文
摘要:我去....这题 真无语了忘记清空队列了....当然 你要是将队列声明在函数中 就没这个烦恼了 每次调用相当于清空了而我 是将它声明为全局变量的...卧槽了 坑死了这题 抛开这个不讲女孩子还是很有心思的...要用三维vis数组 第三位表示的状态是移动到那一步%k所余的时间 因为题目条件的特殊性 石头...
阅读全文
摘要:杭电的这个出题人真闷骚啊....冠以 与女孩约会的名义 出了这么个这题 不难的 但是一定要读懂题目意思Two solutions are different if x0 != x1 or y0 != y1.这就告诉我们 1+3=4 与 3+1=4 这是2种方法但是如果那个古怪的女孩给了你1 1 1 ...
阅读全文

浙公网安备 33010602011771号