2 TTP1128

尚未进行身份认证

我要认证

烟台大学 计科

等级
TA的排名 7w+

科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛)

目录A 点对最大值求这个树的直径,已经见过三次了,还是没打出来,注意个别地方稍微修改一下。#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cmath>#include <string>#include <vector>#include <stack>#include <m

2020-06-03 22:21:56

牛客小白月赛 25 点击消除(栈)

我当时是乱搞过的乱搞代码:// // // #include <iostream>// // // #include <cstdio>// // // #include <algorithm>// // // #include <queue>// // // #include <cmath>// // // #include <string>// // // #include <ve...

2020-05-21 19:50:08

Light OJ 1258(kmp||mancher)

题意:给定一个字符串s,问在字符串右边最少添加多少个字符可以s成为一个回文串。KMP做法:将原串reverse后为t,t和s进行匹配,最后匹配上的长度就是两者可以重叠的部分,最后字符串长度*2再减去重叠部分长度。#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cmath>#include <st...

2020-05-21 15:27:15

牛客 华华和月月逛公园(Tarjan找桥)

如题,在一个无向连通图中,只有桥是必须走的,其余的都可以不走,找出所有的桥,然后边的数量减掉桥的数量就可以。#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cmath>#include <string>#include <vector>#include <stack>#...

2020-05-20 10:17:19

牛客小白月赛25 C.白魔法师

主要思路:BFS求一下每个白色连通快的大小,然后对每一个黑色点逐个判断,判断通过这个黑色点可以连通多少个白色连通块,把这些白色连通块大小相加再+1,最后答案维护一下最大值就行了。如果没有黑色点的话,直接输出最大的白色连通块就好。否则输出上述维护的ans。这个题真滴就差一点,一开始犯浑想成求树上最大直径了,想成只能连接两个连通块,fo自己了,也算是个有点小难度的图论题吧。看着题解很多都是并查集做的,本蒟蒻的比标程还稍微快那么一倍,O(∩_∩)O哈哈~#include <i...

2020-05-18 23:13:12

Poj 3279Fliptile(二进制枚举)

题目传送门题意:给定0,1矩阵,每次反转一个位置,它相邻的四个位置也会反转(如果存在的话),反转的意思就是1->0或者1->0,问最少反转多少个位置就可以使矩阵全部变成0。输出所有一个矩阵,所有反转的位置输出1,否则输出0,若存在多个答案相同,则输出矩阵字典序最小的一个。先从第一行开始反转,利用二进制进行枚举,枚举第一行所有的可能选择,当第一行反转的确定了之后,后面每一行都随之确定了,第二行开始逐个元素进行判断,若该元素同一列的上一个元素为1,那么反转当前元素,最后全部枚举之后,只有最后

2020-05-15 20:07:51

Poj2739 Sum of Consecutive Prime Numbers(再见尺取)

题目传送门题意简述:给定一个n,如果n可以表示为连续的素数和,求出有多少种这样不同的表示。先筛一遍素数,然后尺取记录就可以啦~code:#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cmath>#include <string>#include <vector>#include

2020-05-14 23:08:22

Poj 3061Subsequence(初见尺取法)

尺取法的时间复杂度为O(n),因为两个指针最多共移动2*n次,具体怎么移动在注释中。code:#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cmath>#include <string>#include <vector>#include <stack>#includ...

2020-05-14 22:38:08

POJ1679The Unique MST(次小生成树)

题目本题的思路就是判断一个图的最小生成树和次小生成树的权值是否一样,也就是最小生成树是否唯一。先跑一遍prim求出最小生成树后,再将每一条不在最小生成树里的边加入MST,然后删掉形成的环上权值最大的边,最后判断一下就可以。qq学长的博客:https://blog.csdn.net/qq_28954601/article/details/71102139别的大佬的:https://www.cnblogs.com/bianjunting/p/10829212.html我的code:#inc

2020-05-14 19:15:46

Hdu 1269迷宫城堡(Tarjan 求强连通分量)

题目根据题意,需要满足在一个有向图中满足任意两点之间可以互相到达,也就是说这个图的最大连通子图就是它本身,Tarjan算法找一下强联通分量即可,且强连通分量个数为1。。#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cmath>#include <string>#include <vector&

2020-05-13 21:44:07

计蒜客 Automatic Control Machine(二进制枚举+bitset)

传送门题意:给定一个c列r行的矩阵,问最少选出多少行元素才能保证每一列至少一个1,对于数据范围,可以进行二进制枚举,其实突然想起来这个题目就是为了练习顺便学习一下二进制枚举,还可以练习一下bitset的使用。#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cmath>#include <string>

2020-05-08 20:32:50

POJ 1655 Balancing Act 树的重心

树的重心定义:删除掉某个结点后,以这个结点的子节点为根的子树大小最小。dp的思想,dfs过程类似树链刨分,有注释。#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cmath>#includ...

2020-05-08 13:51:07

Hdu3974 Assign the task(DFS序建立线段树)

题意:一个人只有一个boss,一开始呢所有人都没有任务,当给一个人安排任务时,他的所有下属也被安排了这个任务,包括他下属的下属,根据题意这是一颗有根树。那我们就可以找到根结点,从根结点开始DFS,从而得到每个结点的dfs序列(dfn)和以这个结点为根的子树的大小(size),然后我们就可以借助这两个数组建立线段树,进行区间修改和单点查询。区间修改的时候修改结点x那就是将任务分配给结...

2020-05-07 18:19:44

P2709 小B的询问 莫队算法初见

传送门莫队算法:处理离线区间查询,分块,排序,优雅的暴力。。#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cmath>#include <string>#include <vecto...

2020-05-06 11:53:05

Hdu 2612 Find a way (bfs)

题意:两个人需要在一个@处见面,图中可能有若干个@,求两个人所需时间和的最小值,一开始写的是两个起始点分别对每一个@进行bfs,得到最短时间,很遗憾这样T掉了。想了一下,可以用两个time数组分别记录两个人到达每一个@的最短时间,这样只需要两次bfs,最后逐个比较一下,得到最小值就可以,写题还是要灵活,不能无脑写,多想一些可以降低时间复杂度的方法。code:#include...

2020-05-05 18:08:52

Hdu 2603过山车 二分图最大匹配匈牙利算法模板题

匈牙利算法模板题,稍微注意一下先输入m,再输入n,而且是单向边。code:#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cmath>#include <string>#include...

2020-05-05 16:21:10

2020年西北工业大学“编程之星”程序设计挑战赛 G 智乃与无意义的题目

用线段树进行维护,对每一个叶子结点质因数分解,得到它2 ,3,5,7做为因子的个数,向上合并的时候累加相同因子个数,最后查询的时候用因子个数公式计算得到。线段树太强了!!!好久没敲了。。。#include <iostream>#include <cstdio>#include <algorithm>#include <queue&g...

2020-05-03 08:22:39

2020年西北工业大学“编程之星”程序设计挑战赛 A 张经理的员工(二维树状数组)

思路: 二维数组维护,分别维护前缀工位个数和 前缀工位坐标和,其实这样的题目做过至少两次了,思路比较容易得到,但是敲得还是有点慢,变量怕搞错。、。、。#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include ...

2020-05-03 08:14:48

Bee Problem(连通块+贪心)

传送门题目意思很简单,求最少几个连通快的面积加起来 才能 >= h。BFS完贪心排序一下就行,需要注意的是这个图跟普通的二维搜索不一样,对蜜蜂地图来说每一个蜂巢都是六边形,也就是说每个点都有六个相邻的点,此外,偶数行的点和奇数行的点也不一样。code:#include <iostream>#include <cstdio>#include &lt...

2020-04-20 15:00:56

poj 1990 MooFest(树状数组)

这个题目和寒假牛客第三场的G非常类似。传送门题目大意:每头牛都有一个听力值,还有它所在位置。两头牛交流所消耗的能量为两头牛距离差值*两头牛中听力值最大的一个。我们要求任意两头牛交流所需要的的能量和。共n*(n-1)。可以用树状数组维护当前牛之前的牛的个数,和当前牛之前的牛的坐标和。当然首先需要根据听力值排序,这样就保证了能量和最小。然后逐个得添加到树状数组中然后查询就可以了...

2020-04-11 14:13:20

查看更多

勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。