08 2018 档案

摘要:link:http://codeforces.com/problemset/problem/1028/A 让找出字符串矩阵中B的中心 模拟即可,以下思路值得学习 阅读全文
posted @ 2018-08-31 01:26 Somnus、M 阅读(129) 评论(0) 推荐(0)
摘要:题意:有n天,在一天之内可以买东西或卖东西,也可以什么都不做,手里可以有多样物品,问n天过后最大赚多少钱。 思路:用一个优先队列维护一个堆,当堆中最小元素小于本位置元素就可以进行交换ans+=(x-q.top);如果q.top这个元素曾经交换过那么本次交换也就不算次数,然后要将x放入堆两个,相当于一 阅读全文
posted @ 2018-08-30 19:06 Somnus、M 阅读(228) 评论(0) 推荐(0)
摘要:poj3159 题意:n个人,m个信息,每行的信息是3个数字,A,B,C,表示B比A多出来的糖果不超过C个,问你,n号人最多比1号人多几个糖果 思路:对应最短路模型,在松弛完最短路后则变为 d[v] <= d[u] + w ,转化为 d[v] - d[u] <= w,这个和上面的 B - A <= 阅读全文
posted @ 2018-08-29 18:32 Somnus、M 阅读(179) 评论(0) 推荐(0)
摘要:目录 一、引例 1、一类不等式组的解 二、最短路 1、Dijkstra 2、图的存储 3、链式前向星 4、Dijkstra + 优先队列 5、Bellman-Ford 6、SPFA 7、Floyd-Warshall 三、差分约束 1、数形结合 2、三角不等式 3、解的存在性 4、最大值 => 最小值 阅读全文
posted @ 2018-08-29 17:36 Somnus、M 阅读(282) 评论(0) 推荐(0)
摘要:给定节点数n,和边数m,边是单向边. 问从1节点出发到2,3,...n 这些节点路程和从从这些节点回来到节点1的路程和最小值。 阅读全文
posted @ 2018-08-29 15:23 Somnus、M 阅读(147) 评论(0) 推荐(0)
摘要:前几天在看Floyd算法的时候,虽然感觉程序很简单,但是让你动手写那些过程矩阵的时候就感觉不怎么简单了,就上网找找看有木有简便的计算方法,搜索之后没有发现有现成的例子,只搜到了两句“弄两条线,从左上角挪到右下角”,“十字交叉法,从左上角到右下角”,除此之外就再也木有找到有用的东西了。没有内容就创造内 阅读全文
posted @ 2018-08-24 18:45 Somnus、M 阅读(1204) 评论(0) 推荐(1)
摘要:题意:I=1, V=5, X=10, L=50,n个位置可任意放4个数,n个数组成的值是每一位的值的和,要求最后代表的值不同的种类数。 缺欠的是做题的思路,当看到这道题发现n是10^9级别,第一反应是得找到一个公式。但怎么找没想出来。 满足i+j+k+p = n (i,j,k,p分别是1,5,10, 阅读全文
posted @ 2018-08-20 01:22 Somnus、M 阅读(138) 评论(0) 推荐(0)
摘要:题意:要建一棵圣诞树,使得总的花费最小。具体规则是:圣诞树是一颗无向树形图,其中,编号为1的节点为根节点,原始图中每条边具有边权(unit):材料的单位价值;每个点也有一个权(weight):点的重量。生成树中,各条边的花费是该边权(unit)* 该边的子树中所有点的重量(weight)和,总的花费 阅读全文
posted @ 2018-08-12 21:44 Somnus、M 阅读(212) 评论(0) 推荐(0)
摘要:题目大意:有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量 解题思路:其实这个求最大边可以近似于求最短路,只要修改下找最短路更新的条件就可以了 阅读全文
posted @ 2018-08-12 19:07 Somnus、M 阅读(128) 评论(0) 推荐(0)
摘要:link:https://vjudge.net/problem/HDU-2066#author=haochengqian 题意 从任意一个邻居家出发 到达任意一个终点的 最小距离 解析 求多源最短路 我想到的是Floyd算法 但是题目给出的n的大小不确定 所以图很稀疏 会有很多孤立点 会多跑很多没用 阅读全文
posted @ 2018-08-11 17:30 Somnus、M 阅读(219) 评论(0) 推荐(0)
摘要:link:https://vjudge.net/problem/POJ-2449 前面输入与大多最短路题相同 最后一行输入s,t,k 求从s到t的第K短路 wiki link: https://en.wikipedia.org/wiki/A*_search_algorithm 出题者的算法是首先计算 阅读全文
posted @ 2018-08-10 20:49 Somnus、M 阅读(232) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/problem/HDU-2544#author=0 Dijkstra算法:(类似prim算法) floyd算法(类似于dp): SPFA算法: 阅读全文
posted @ 2018-08-10 18:20 Somnus、M 阅读(775) 评论(0) 推荐(0)
摘要:首先,不难证明次小生成树的连边与最小生成树一定不相同 因此,我们可以枚举每一条在最小生成树上的边 在剩下的边的集合中再求最小生成树 也就是再对n-1个缺一条边的图求最小生成树 对于严格次小生成树 找出n-1棵树中找到权值>原最小生成树且最小的 对非严格次小生成树 找出n-1棵树中找到权值>=原最小生 阅读全文
posted @ 2018-08-10 00:48 Somnus、M 阅读(226) 评论(0) 推荐(0)
摘要:最小生成树裸题 https://vjudge.net/contest/245213#problem/B 阅读全文
posted @ 2018-08-09 17:32 Somnus、M 阅读(132) 评论(0) 推荐(0)
摘要:给你n个点,然后求最小生成树。特殊之处在于有q个点之间已经连上了边 阅读全文
posted @ 2018-08-08 21:16 Somnus、M 阅读(108) 评论(0) 推荐(0)
摘要:题目大意就是将一个字符串分成长度为N的字串。且不同的字符不会超过NC个。问总共有多少个不同的子串。 采用的办法就是以nc作为进制,把一个子串化为这个进制下的数,再用哈希判断。由于题目说长度不会超过16,000,000 所以哈希长度就设为16000000就行。另外为每一个字符对应一个整数,来方便转化。 阅读全文
posted @ 2018-08-08 17:45 Somnus、M 阅读(89) 评论(0) 推荐(0)
摘要:Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCI 阅读全文
posted @ 2018-08-08 01:30 Somnus、M 阅读(169) 评论(0) 推荐(0)
摘要:题意:首先输入t组数据 接下来是输入n和n个数,这n个数构成树; 再输如m和m个数,每个数表示需要寻找的数; 输出找到需要寻找的数要走的路向左向右,向左输出W,向右输出E; 阅读全文
posted @ 2018-08-07 16:18 Somnus、M 阅读(116) 评论(0) 推荐(0)
摘要:题意:给出一个N(2 <= N < 2^54),如果是素数,输出"Prime",否则输出最小的素因子 Pollard Rho因子分解算法:https://www.cnblogs.com/dalt/p/8437119.html 阅读全文
posted @ 2018-08-07 16:15 Somnus、M 阅读(124) 评论(0) 推荐(0)
摘要:题解:给你一个先序二叉树,其中左子结点在父节点左一个单位,右节点在父节点右一个单位;让从左到右输出每个水平位置的权值和;本来用的从1开始root<<1建树,发现思路行不通;因为每个节点的root不同,所以考虑到从MAXN/2开始,-1,+1进行建树不就可以了么,每次如果不等于-1,就加上权值,然后找 阅读全文
posted @ 2018-08-06 17:26 Somnus、M 阅读(132) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/1016/problem/B 给两个字符串s,t,之后给出s的一个区间,问这个子串中存在多少个子串与t相同 如果一个一个查找就会超时,因此只需要把前缀和相减即可 阅读全文
posted @ 2018-08-04 01:20 Somnus、M 阅读(192) 评论(0) 推荐(0)
摘要:有一棵二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右编号为1, 2, 3,..., 2 D -1。在结点1处放一个小球,它会往下落。每个内结点上都有一个开关,初始全部关闭,当每次有小球落到一个开关上时,状态都会改变。当小球到达一个内结点时,如果该结点上的开关关闭,则往左走,否 阅读全文
posted @ 2018-08-03 17:24 Somnus、M 阅读(251) 评论(0) 推荐(0)
摘要:题意:一共T组样例,对于每组样例给出一行N和M,分别表示随后一行有N个数和需要删去的数的数量为M.且要求删除M个数后该数列中的众数唯一且最大,否则输出-1. 阅读全文
posted @ 2018-08-03 02:08 Somnus、M 阅读(240) 评论(0) 推荐(0)
摘要:题目描述n 个人出去玩,给定双人房和三人房的价格,求最少的住宿花费1<=n<=10^9 解题思路脑补一下可以发现:最后答案一定是几乎全选性价比最高的那种房间然后再加上几间其他的所以二人间和三人间里数量用的最少的房间不会超过3枚举一下用了几间就好了 一定不要忘记n%2==1时可以把两个人和另一个人合住 阅读全文
posted @ 2018-08-02 21:41 Somnus、M 阅读(290) 评论(0) 推荐(0)
摘要:题目描述给定两个正整数c,n,求一个数对(a,b),满足1<=a,b<=n,且gcd(a,b)=c要求输出最大的ab1<=c,n<=10^9 只要满足公式a=(n/c)*c 与b=(n/c-1)*c即可 注意n/c=1的特殊情况 阅读全文
posted @ 2018-08-02 21:34 Somnus、M 阅读(189) 评论(0) 推荐(0)
摘要:题目描述给定n 门课以及它们的学分和绩点,定义总绩点是所有课的加权平均数,给定一个数k,你可以删除最多k 门课,求你的总绩点最大能到多少1 <=n <=10^5 解题思路考虑分数规划二分答案,假设当前二分了一个值D,我们要判断是否存在一个方案使得总绩点>=D 于是选前k 个最小的删了就行了时间复杂度 阅读全文
posted @ 2018-08-02 21:25 Somnus、M 阅读(301) 评论(0) 推荐(0)
摘要:你有一个破损的键盘。键盘上的所有键都可以正常工作,但有时Home键或者End键会自动按下。你并不知道键盘存在这一问题,而是专心地打稿子,甚至连显示器都没打开。当你打开显示器之后,展现在你面前的是一段悲剧的文本。你的任务是在打开显示器之前计算出这段悲剧文本。输入包含多组数据。每组数据占一行,包含不超过 阅读全文
posted @ 2018-08-02 00:43 Somnus、M 阅读(217) 评论(0) 推荐(0)
摘要:题目告诉有 3 种动物,互相吃与被吃,现在告诉你 m 句话,其中有真有假,叫你判断假的个数 ( 如果前面没有与当前话冲突的,即认为其为真话 )。每句话开始都有三个数 D A B,当D = 1时,表示A 和B是同类,当D = 2时表示A 吃 B。 题解参考:https://www.cnblogs.co 阅读全文
posted @ 2018-08-01 19:20 Somnus、M 阅读(140) 评论(0) 推荐(0)
摘要:一张图上分布着n台坏了的电脑,并知道它们的坐标。两台修好的电脑如果距离<=d就可以联网,也可以通过其他修好的电脑间接相连。给出操作“O x”表示修好x,给出操作“S x y”,请你判断x和y在此时有没有连接上。 阅读全文
posted @ 2018-08-01 16:27 Somnus、M 阅读(163) 评论(0) 推荐(0)
摘要:输入两个长为n的字符串s和t,问s经过多少次变换后(只能相邻交换,即i与i+1交换,且最后输出i的下标)可以变成t 当时唯一没想到的就是a。。。。c变成c。。。。a的话怎么移动,其实只需要从后往前就可以了233333333 菜到WA哭 阅读全文
posted @ 2018-08-01 01:16 Somnus、M 阅读(416) 评论(0) 推荐(0)