随笔分类 - ACM题解
一些有意思题目的题解
    
摘要:此则莫比乌斯反演之大观也,前人之述备矣。 详细的题解 点这里,大佬讲的很详细 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1695 题意:给定两个区间 [a,b] , [c,d] 一个整数k,x在第一个区间,y在第二个区间; 求有多少个不同的x,y 
        阅读全文
                
摘要:参考题解做的!思路+题意 在代码中藏着呢。
        阅读全文
                
摘要:我只是一个存模板的,详细的请看这里 http://blog.csdn.net/whai362/article/details/47298133 题目链接:http://www.codevs.cn/problem/4655/
        阅读全文
                
摘要:类别:二叉排序树 空间效率:O(n) 时间效率:O(log n)内完成插入、查找、删除操作 创造者:Daniel Sleator和Robert Tarjan 优点:每次查询会调整树的结构,使被查询频率高的条目更靠近树根。 注:所有图片来自wiki。 转载自:http://blog.csdn.net/
        阅读全文
                
摘要:平衡树 简介: 平衡二叉树(Balanced Binary Tree)具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。 最小二叉平衡树的节点的公式如下 F(n)=F(
        阅读全文
                
摘要:bzoj 1556 点这里打开题目 题目是求 a^2 求和; 原问题可以转化为:两个人在玩这个东西,问这两个人弄出来的序列相同的有多少种情况,操作方式不同即为一种不同的情况。 就这个问题,参考大佬的DP思想。 DP[t][i][j] 分别表示 两人同时第t次取小球,第一人在上面管道取了i个,第二个人
        阅读全文
                
摘要:题目链接 题目就不多说了。 本题目,可以用dfs序+线段树做:题目给定了一棵树,树上节点告诉了权值。我们可以先将这棵树进行dfs将一棵树变成线性结构:如图 变成这样后,然后就可以用线段树。 操作1:也就是将某两个点+a; 操作2:区间更新 操作3:查询起始区间到某点的和 我们建线段树,需要统计 +,
        阅读全文
                
摘要:点击打开题目链接 题目意思很简单: 1、插入x 2、把小于x的数变成x 3、把大于x的数变成x 4、求集合中第x小数 5、求集合中小于x的数个数 思路: 线段树,节点是值的分数,你可以离散,也可以不离散,直接标记;我的写法是: 看代码注释>>> 据说数组改为指针会快点;代码比较挫.存一个; 代码二:
        阅读全文
                
摘要:题目链接 题目描述: 给定很多个矩形,给定方式是对角线坐标点.求面积的并。 大致思路: 扫描线+线段树; 1 #include <stdio.h> 2 #include <iostream> 3 #include <algorithm> 4 #include <string.h> 5 #includ
        阅读全文
                
摘要:这是题目链接4627: [BeiJing2016]回转寿司 题目大意: 给定n个数,求有多少个字段和在 满足 L<=sum<=R; 解题思路 需要解这个题目,需要有线段树加可持续化的思想,但是这个题目只需要上一棵线段树的信息,所以可以不用主席树,只要用到值域线段树。那么,这样就可以把问题转化为: 先
        阅读全文
                
摘要:https://cn.vjudge.net/problem/HDU-4722 懒得写看,代码注释吧;主要存板子
        阅读全文
                
摘要:巴比伦花园 link :http://oj.acm.zstu.edu.cn/JudgeOnline/problem.php?id=4239 对于新生还是比较难; 我是用 RMQ + 二分 写的; 因为 fi[i] 数组代表从i开始最长到哪里,因为要求最长,所以第一个一定是1, i 是单调的,fi 数
        阅读全文
                
摘要:Query on a tree 题目链接: http://vjudge.net/problem/SPOJ-QTREE 题目大致意思就是: 给你一棵树,有连个操作: ● 第一个是查询任意两个不同节点上的最短路径上的最大权边! ● 第二个操作修改某一条边的权值; 对于一棵树,数的深度如果很大,那么每次查
        阅读全文
                
摘要:题目链接 题目意思: 有 n 个货物,并且知道了每个货物的重量,每次用载重量分别为c1,c2的火车装载,问最少需要运送多少次可以将货物运完。 分析:本题可以用二进制枚举所有不冲突的方案,再来dp 一下,一开始dp数组初始化为正无穷,dp[0]=0,代表什么都不运送需要多少趟,对于每个不冲突的选择方案
        阅读全文
                
摘要:点击打开题目链接 题目大意:N 个人来自不同学校,相同学校的人需要站在一排,每排人数为K 人。 问那个学校的人不满足。详见题目。 大致思路: 统计每个学校的人数,输出不能被K整除的那个,简单说 统计数字出现次数,输出不能被K整除的数字。借鉴他人思路,用二进制统计一下。将每个数转化为二进制,用一个数组
        阅读全文
                
摘要:点击打开题目链接 建树+广搜一棵树;最下面有更短代码(很巧妙)。 1 #include<iostream> 2 #include<stdio.h> 3 #include<queue> 4 #include<string.h> 5 #include<algorithm> 6 7 using names
        阅读全文
                
摘要:点击打开题目链接 题目大意:给你一个2X4的魔板,问你最少多少步骤能拼成 0 1 2 3 4 5 6 7 0 代表空的地方 如图: 这是最终 状态。 Sample Input 0 1 2 3 4 5 6 7 1 0 2 3 4 5 6 7 7 6 5 4 3 2 1 0 Output for the
        阅读全文
                
摘要:最近点对一般想到枚举 ,一一枚举时间复杂度为n^2;枚举时候一些操作是多余的,有了分治算法的思想 ,把一些问题分个击破,再回到整体。 题目链接 以这道题为例,我们可以把他按照x轴的升序分成多个子区域先在子区域中求最近点距离,然后将相邻两个子区域合并,看看两个子区域中有没有更小的。大致思想就是这样的。
        阅读全文
                
摘要:题目链接 点击打开链接 Pots Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submit Status Description You are given two pots, having the 
        阅读全文
                
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号