文章分类 - OI题目
摘要:/* ->树中的节点都只有一个爹 ->最深的未被覆盖的点 的祖父 应该设立消防站 -> ai<i fa[i]已出现 选取一个点时 更新父 祖父 节点的信息+兄弟点也会影响 父代 信息-> min() ->cover[i] 离i最近的消防站距离 */ #include<cstdio> #include
阅读全文
posted @ 2023-09-17 16:07
JMXZ
摘要:/* floyd 任意两点之间的距离 检测 中间的一个点 d[][]+d[][]==d[][] cnt[][] -> [][]之间的条数 */ #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> //#inc
阅读全文
posted @ 2023-09-17 16:06
JMXZ
摘要:#include<cstdio> #include<iostream> #include<algorithm> //#include<queue> //#include<vector> //#include<bits/stdc++.h> #define ll long long #define dd
阅读全文
posted @ 2023-09-17 16:05
JMXZ
摘要:/* 最短路计数 if dis==dis+w cnt[v]+=vnt[u] else cnt=cnt */ #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> //#include<queue> //#inc
阅读全文
posted @ 2023-09-17 16:05
JMXZ
摘要:/* ½«Ë®£¨0£©ÓëÖÜΧµÄË®»òÕß Á«»¨£¨1£©ËÄÖܵÄË®Á¬±ß ¾¹ýµÄ±
阅读全文
posted @ 2023-09-17 16:04
JMXZ
摘要:#include<cstdio> #include<iostream> #include<algorithm> //#include<queue> //#include<vector> //#include<bits/stdc++.h> #define ll long long #define dd
阅读全文
posted @ 2023-09-17 16:03
JMXZ
摘要:/* 欧拉路径 只要满足奇点 个数 ==0/2就一定存在路径 使每条边都走一遍 看是否连通 -》并查集/在最后判断 是否有取到n+1个点 从奇点 开始dfs倒序加入 */ #include<cstdio> #include<iostream> #include<algorithm> #include
阅读全文
posted @ 2023-09-17 16:03
JMXZ
摘要:/* cl[i][1-m] iÎïÆ·ÔÚµÚiÌìÊÇ·ñÔÊÐí·ÃÎÊ can_vis[]+spfa dp[i]=min(dp[i],dp[j]+co[j+1][i]*(i-j)+k) ::dp 0x3f ::dp[i]=co[1][i]*i co[i][j]=dis[m] :::多组数据 不
阅读全文
posted @ 2023-09-17 16:02
JMXZ
摘要://double <=1e30 #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> //#include<queue> //#include<vector> //#include<bits/stdc++.h>
阅读全文
posted @ 2023-09-17 16:01
JMXZ
摘要:#include<cstdio> #include<iostream> #include<algorithm> //#include<queue> //#include<vector> #include<bits/stdc++.h> #define ll long long #define ddd
阅读全文
posted @ 2023-09-17 16:01
JMXZ
摘要:#include <cstdio> #include <bits/stdc++.h> using namespace std; const int N = 3005, M = 8005; stack<int> st; int n,p,pr[N],f[N]; int head[N], tot = 0,
阅读全文
posted @ 2023-09-17 16:00
JMXZ
摘要:#include<cstdio> #include<iostream> #include<algorithm> //#include<queue> //#include<vector> #include<bits/stdc++.h> #define ll long long #define ddd
阅读全文
posted @ 2023-09-17 15:59
JMXZ
摘要:一棵树 n 个节点 初始m个军队驻扎在若干个点,问最短什么时候 所有从rt==1 到 叶节点 的路全部封死 》因为是树-> 贪心->越上面越好 》答案具有单调性 越大越好-> 二分(准确即可) 》》pre_bfs ->fa[][],dis[][] // shangyi 1.一定到不了直接标记 2.超
阅读全文
posted @ 2023-09-10 15:00
JMXZ
摘要:#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <queue> using namespace std; int n,m,ans=0,tot=0; int a[1002],d
阅读全文
posted @ 2023-09-09 16:28
JMXZ
摘要:手牌 、特征值=前面<= 连续手牌值最大,分数=前面< 分数最大 》连续手牌值的最大 f[i]以i结束的连续和的最大值 f[i]=max(f[i-1]+a[i],a[i]) h[i]前i个连续和的最大值 h[i]=max(h[i-1],f[i]) :::数据会超 1e20 左右->__int128
阅读全文
posted @ 2023-09-09 16:25
JMXZ
摘要:每一个x横坐标 可以点击多次 效果叠加 但哟避开 障碍 》状态更新-> dp dp[x][y][p] 当前坐标 x y 上一个坐标 转移过来 不点 0/点击 1 1.p=1 dp[x][y][1]=min(dp[x-1][y-up[i-1]][0/1],dp[x][ y-up[x-1] ][1])
阅读全文
posted @ 2023-09-09 16:12
JMXZ
摘要:n行m列的矩阵 ai 选 k 个数 每行选<=1 每列<=[k/2] 问有多少种方法 》dp 但是dp过程难以控制 “每行选<=1 每列<=[k/2]” 尤其是 每列<=[k/2] -> 所以考虑容斥 》不合法的行只需要 每次取<=1 列的话 最多只有一列因为<=k/2->枚举不合法的列 > g[]
阅读全文
posted @ 2023-09-09 15:45
JMXZ
摘要:一棵树,数值有权值,m条运输路线,问将一条边换为0 使运输路线最大值最小 》最大值最小-》二分 》路线长度+树-》LCA 》》二分->正确答案->所有大于mid的路径 都有k公共边 使得 len-k<=mid :::树上差分 标记公共点 lca-=2 u-=2 v-=2 每次重新标记 :::dis
阅读全文
posted @ 2023-09-09 15:07
JMXZ
摘要:最大值最小-》二分 #include<cstdio> #include<iostream> #include<algorithm> //#include<queue> //#include<vector> #include<bits/stdc++.h> #define ll long long #d
阅读全文
posted @ 2023-09-09 08:19
JMXZ
摘要:#include<cstdio> #include<iostream> #include<algorithm> //#include<queue> //#include<vector> //#include<bits/stdc++.h> #define ll long long #define dd
阅读全文
posted @ 2023-09-05 06:19
JMXZ

浙公网安备 33010602011771号