07 2015 档案
摘要:题目:给出一个只有ab组成的串,求其中半回文串的第k大。思路:暴力枚举出所有半回文串,然后暴力插到trie里查询第k大,原先写trie是抄模板的,这次自己写了一下。#include #include #include #include #include #include #include #incl...
        阅读全文
                
摘要:题目:城市间有若干条道路,士兵可以经过道路到相邻的城市,现在给定初始每个城镇的士兵数目和最终的数目,问是否可以达到最终局面。思路:关键是建图,首先从源点到初始城镇连边,然后把有边的初始城镇和结束城镇连边,最后把结束城镇和汇点连边,这样就可以保证题目中的“每个士兵最多经过一条道路”的条件,然后求出最大...
        阅读全文
                
摘要:题目:若干长度相同的字符串,如果一个字符串至少有一个字符与其他字符串这一位的字符都不一样,那它就是好记的,现在问把整合集合都变成好记的最小花费。思路:虽然一看就是状压,但是有些地方没理清楚导致一直过不了,首先因为最多有20个字符串而字符集有26,改一个字符肯定可以不与其他字符冲突。然后状态转移中分改...
        阅读全文
                
摘要:1. HDU 2196 题目:求出一棵树上的所有点到其他点的最长距离。思路:取一个根节点进行dfs,先求出每个节点到子节点的最长路和次长路(也就是与最长路不同的最长的路,有可能与最长路长度相等),并记录最长路和次长路通过的相邻节点的标号。然后进行第二次dfs,考虑最长路是通过父节点的情况,如果该节点...
        阅读全文
                
摘要:题意:给出若干个点,求半径为2.5的圆最多包含多少个点。思路:查到的一篇题解是枚举三个点的外接圆,这个对于我等计算几何小白来说还是不太好做。。。。后来听大神讲的,因为半径已知,所以只需要枚举经过两点的半径为2.5的所有圆就好(两个点对应两个圆),这样不仅好写,而且复杂度也降低了。(感觉不用一大串模板...
        阅读全文
                
摘要:题意:给出一个图,每个顶点有一个权值,要求求出一个生成树,这个树上的某一边长变为0,求该边两端点权值之和与总边权的最大比值。思路:枚举权值为0的边,如过该边在最小生成树上,直接减去边权,如果不在树上,添加边必然产生环,此时最小总边权可以通过减去这个环上的最大边权求得。先用prim算法计算最小生成树,...
        阅读全文
                
摘要:题意:交换自然数中的若干对数,求交换后总共有多少逆序数对。思路:因为题目数字范围比较大,不能直接用树状数组算,首先要离散化。然后一种算法是官方题解中根据逆序对数是否属于交换过的数分类讨论统计。我的算法是把没有交换的连续的数看成一个数,使用树状数组统计的时候直接加上这个区间的数字个数,这样就不需要比较...
        阅读全文
                
摘要:这里简要记一下差分约束。所谓差分约束,指的是由a-b>=c这种不等式组组成的约束系统。一般的线性规划问题可以用单纯形法解决,但是这种特殊情况可以借助最短路算法解决。记源点到v的最短路为d[v],从u到v的最短路为d(u,v)。差分约束的最短路做法基于最短路的以下特点:对于没有负圈的图,任意两点d[u...
        阅读全文
                
摘要:题目:给出若干数,然后若干组询问,每次询问一个数,如果这个数存在,那么删去这个数,如果没有,添加这个数,每次询问后输出此时已经有的数中互质的有多少对。思路:利用容斥原理求出已经有的数中与正在询问的数不互质的数的数目。先对所有数进行质数分解。然后通过含有的不同质数对所有数字进行分类。之后就可以用容斥原...
        阅读全文
                
摘要:1 CF 546D:(数论,dp题意:实际上是统计小于5e6范围内所有数字的质因子数目。解法:先用筛法求出范围内所有素数(开始t了一次以为是因为裸的素数筛太慢,后来换成线性筛还是不行,,结果是因为脑残用了cincout)。然后就是dp的思想,任何一个合数的质因子数目等于它本身除以一个质因子之后的数...
        阅读全文
                
摘要:CodeForces 555C(set or 线段树)题目大意:给一个巧克力,把副对角线(参照线代)下方的先都吃掉,然后每次给出一个询问,从对角线出发,要么向上,要么向左,吃到已经吃过的地方或者边缘为止,输出每次能吃多少小格巧克力。思路:官方题解是线段树做得(我暂时还不会),然后在网上找到了一个超级...
        阅读全文
                
摘要:题意:给出n个人,这n个人要么相互喜欢,要么相互憎恨,现在给出其中一部分关系,要求完成剩下的关系,使其满足以下关系:不能有三个人互相都是憎恨,也不能有三个人有两个爱着其中一个人而这两个人相互憎恨。问在给定条件下剩下的关系有多少种指定方法。思路:首先,相互喜欢的联通块是可以直接合并成一个点的,因为其他...
        阅读全文
                
摘要:题意:给出一个图,问最少加多少条边能连出一个奇圈,还要求输出连边的方法种数。思路:比赛的时候看了一下是图相关的就没多想,也没时间了,其实挺简单的,如果已经有奇圈,那么直接输出0 1,如果最多有两个点相连,那么就是(n-2)×m,就是每条边和另外的任意点连两条边,要么就是没有边,这个就是直接输出结果。...
        阅读全文
                
摘要:题意:桌子有若干个腿,只有长度最长的腿的数目是所有腿的数目的一半以上的时候才是稳定的,去掉每个腿有一个花费,现在问最小花费是多少思路:注意这个题有个关键点就是d的值非常小,只有200,实际上这个问题可以总结为下面这个问题:前x个数中最小的k个数的和是多少?只要解决这个问题,本题也就迎刃而解了,而这个...
        阅读全文
                
                    
                
浙公网安备 33010602011771号