2024.十一假期题目清单

前言

开坑,因为上课接受了太多的题目然后又没有时间去补,只好先把思路放在这里,有空在补,看到这条的记得催我去补题T_T

2024.10.4

洛谷P2296寻找道路(已完成)

建反边,然后记录所有终点能到达的点,然后因为每条边的长度均为一,因为边权为1,所以bfs然后判断这个点是否合法

洛谷P1967货车运输(已完成)

将边权从大到小排序,然后考虑加边,维护并查集,若是有询问两个点在两个并查集内并且合并了,就统计答案(最多进行log次两个set取交,删除,合并,每次启发式合并,小的往大的上进行查询是否存在若存在则删除,然后暴力加入,复杂度都是log,最后复杂度O(Nlog2N)
思路二:
跑一遍最大生成树,然后倍增求最小的边权和lca

洛谷P4819杀人游戏(已完成)

缩点然后统计所有入度为0的点的个数,然后计算即可,注:若存在度数为0的并且强连通分量内点个数为1的点,则答案要统计个数要减去1,因为把所有好人都问完了最剩一个逮捕就好了

洛谷P4180严格次小生成树(已完成)

先找出最小生成树,然后枚举一条边倍增或树剖来求最短路径上边权最小的边

洛谷P5008锦鲤抄(已完成)

求出所有可以删去的点,然后选出前k大的
如何求?
先进行一个缩点,然后所有有入度的点都合法,考虑入度为0的强连通分量,可以留下一个点权最小的点,注:若此强连通分量中有自环则可以将其全部删去

poj3613

题意:需要找到一条从起点S到终点E的最短路径,并且恰好经过N条路径,求出最短路径长度
2N1,000,0002T100
我们现设状态 dp[k][i][j] 表示i,j经过k条边的最短路
然后考虑floyd的合并过程,得出我们要的转移式子

dp[2l][i][j]=min(dp[2l][i][j],dp[l][i][k],dp[l][k][j])

看N很大,于是考虑用logn解决N,考虑多重背包的二进制拆分
根据这个转移即可,时间复杂度 O(T3logN)

2024.10.5

洛谷P6011动态最值

题意:维护一个数组支持删除一个数(并且下标向左移),然后维护一段区间最小值
维护一棵线段树中区间最小值和有此位置上是否存在数,然后修改时将此位变为inf并将此数是否存在改为0,如要查询时前缀和+二分即可

UVA10587Mayor's posters

题意:有n个人在(l,r)贴海报,求最后能看见多少张不同的海报
维护一颗线段树,然后维护每一位上的颜色,先更新的颜色小后更新的大,然后最后在枚举所有点,查询每一个点的颜色,让颜色大的代替小的,最后统计答案即可

洛谷P1525关押罪犯(已完成)

扩展域并查集,将满足同一个逻辑关系的条件加在一个并查集内,直到第一个冲突为止(有图)

2024.10.6

洛谷B3637最长上升子序列

洛谷P1439最长公共子序列

洛谷P1091合唱队形

posted @   daydreamer_zcxnb  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示