摘要:
题解 UVA721 【Invitation Cards】 原题 题目大意:给定一个简单有向图,设\(dis_{i,j}\)表示\(i\)到\(j\)的最短路径长度,求 \[\large \sum_{i=2}^n dis_{1,i} + \sum_{i=2}^n dis_{i,1} \]思路 先跑一遍 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(10)
评论(0)
推荐(0)
摘要:
题解 SP206 【BITMAP - Bitmap】 原题 此题暴力其实就可以水掉,甚至不需要搜索。 看一看数据: 1 <= n <= 182,1 <= m <= 182 还有时间限制: 时间限制 | 内存限制 \(\quad\;\)4.00s | 1.46GB 我们用一个vector存储所有1的位 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(21)
评论(0)
推荐(0)
摘要:
题解 SP50 【INCARDS - Invitation Cards】 原题 题目大意:给定一个简单有向图,设\(dis_{i,j}\)表示\(i\)到\(j\)的最短路径长度,求 \[\large \sum_{i=2}^n dis_{1,i} + \sum_{i=2}^n dis_{i,1} \ 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(8)
评论(0)
推荐(0)
摘要:
题解 SP27 【SBANK - Sorting Bank Accounts】 原题 这题可以直接暴力A 因为: 时间限制 | 内存限制 \(\quad\;\)7.00s | 1.46GB 注意输入有空格,所以要用getline 代码 // 此处应有头文件 int n,t; string a[100 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(7)
评论(0)
推荐(0)
摘要:
题解 P4955 【[USACO14JAN]Cross Country Skiing S】 原题 翻译,从学校OJ偷来的 乍一看,要求最小的难度值D,于是考虑二分答案 + bfs/dfs。 如果一个关键格\((x,y)\)能够到达关键格\((xi,yi)\)和\((xj , yj)\) 那么\((x 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(6)
评论(0)
推荐(0)
摘要:
题解 P4536 【[CQOI2007]三角形】 原题 这是我们学校%你赛上的一道题。然而赛时只有70pts qwq。 首先显然可以得到当给出的三角形编号尾号为 \(4\) 时,仅有三个三角形与其相邻。 例如 \(\texttt{T4}\) 仅与 \(\texttt{T1,T2,T3}\) 相邻, 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(20)
评论(0)
推荐(0)
摘要:
题解 P4212 【外太空旅行】 原题 前置芝士:模拟退火 题意:给你一个无向图,求出这个图的最大完全子图的大小。(即最大团问题) 众所周知,最大团问题是 \(\texttt{NPC}\) 问题。观察数据范围 \(1 \le n \le 50\),我们可以用模拟退火完成此题。 一般的模拟退火题都是维 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(18)
评论(0)
推荐(0)
摘要:
题解 P3831 【[SHOI2012]回家的路】 原题 这是我们学校膜你赛上的一道题。 感觉并没有紫题难度? 思路 一眼最短路,发现\(m \le 100000\),如果枚举每两个点的话会爆掉。 那么换一种建边方式罢。 显然两个点可以互相到达,当且仅当它们的x坐标相同或y坐标相同 于是我们用一个v 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(17)
评论(0)
推荐(0)
摘要:
题解 P3096 【[USACO13DEC]Vacation Planning G】 原题 题意 给定一个有\(n\)个点,\(m\)条边的有向简单图,其中有\(k\)个点是枢纽,并告诉你这\(k\)个点。 \((1\le n,m\le 20000\),\(1\le k\le 200)\) 给定\( 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(22)
评论(0)
推荐(0)
摘要:
题解 P2533 【[AHOI2012]信号塔】 原题 上次的题解被学长hack掉了,懒得调了,把退火做法放上来吧。 考虑模拟退火:选一个初始点,从这个点开始跑退火。问题是初始点怎么选。 首先所有点取平均大概是不怎么对的,只要很多点密集分布在一个区域再放一个点在很远处就可以卡掉。 发现这个圆只要能够 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(7)
评论(0)
推荐(0)
摘要:
题解 P2097 【资料分发1】 原题 题意:给定一个无向图,求这个图的连通块数量。 蒟蒻不会Tarjan,懒得打dfs,于是就写了个简单的并查集。 如果起点和终点不在一个集合内,那么就将它们所在的集合合并 一开始将ans设为点数,每次合并将ans-1即可。 ps:不会并查集的同学可以参考这里 代码 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(15)
评论(0)
推荐(0)
摘要:
题解 P1927 【防护伞】 原题 直接暴力枚举每一个点 最后求面积最小值就好了 代码 // 此处应有头文件 const double pi = 3.1415926535; int n; double ans = 1 << 30; // 2 ^ 30 struct node { int x,y; } 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(12)
评论(0)
推荐(0)
摘要:
题解 P1532 【卡布列克圆舞曲 】 原题 一道较难搞的模拟 因为蒟蒻不会奇奇怪怪的STL 所以都是手打的 思路 一个数组b存储操作过程中的数 每次扫一遍判断是否开始循环 如果循环: 记录循环开始的位置k 从k开始到总操作次数len - 1(第len个循环了)输出b[i] 否则: len++,记录 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(39)
评论(0)
推荐(0)
摘要:
题解 CF877D 【Olya and Energy Drinks】 原题 一道几乎板子的广搜题。(然而我调了10几次才过 我们只需要在广搜板子的基础上添加移动 $1 -k $步的部分即可 就像这样: int h[] = {-1 , 1 , 0 , 0}; int l[] = {0 , 0 , -1 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(14)
评论(0)
推荐(0)
摘要:
题解 CF236B 【Easy Number Challenge】 原题 此题一个暴力就可以过了。 看着别的大佬不加记忆化吸口氧就过了,而我的却死活TLE 可能因为我人丑常数大? 注意到i*j*k的值会出现重复,所以考虑记忆化。 时间复杂度\(O(n^3\sqrt n)\),跑得飞快 代码 cons 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(6)
评论(0)
推荐(0)
摘要:
题解 CF120E 【Put Knight!】 原题 我一开始以为这题 \(n\) 为奇数就是先手赢,偶数就是后手赢 没想到还真是这样 那么要怎么证明呢? 一般地,在一个空棋盘上下出一枚棋,会有8个格子被这颗棋限制: X X X X K X X X X 容易看出,如果再放一枚新棋,会有2 , 4 , 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(14)
评论(0)
推荐(0)
摘要:
题解 AT4703 【Red or Blue】 原题 来介绍一下三元运算符: A ? B : C 如果表达式A为真,则执行B语句,否则执行C语句。 其作用就相当于: if(A) { B; } else { C; } 例如1 + 1 > 2 ? puts("I AK IOI") : puts("qwq 阅读全文
posted @ 2024-03-06 16:55
iorit
阅读(7)
评论(0)
推荐(0)
摘要:
题解 AT945 【高橋君とお肉】 原题 来一篇正经的题解QwQ 显然我们要把肉分成耗费时间尽量平均的两堆。 于是考虑二分答案 那么怎么检测一个答案的正确性呢? 我们可以跑一个背包dp,让第一个烤肉架烤尽可能多的肉,最后检测第二个烤肉架能不能烤完剩下的肉即可。 时间复杂度\(O(nlog^2n)\) 阅读全文
posted @ 2024-03-06 16:54
iorit
阅读(19)
评论(0)
推荐(0)
摘要:
四十一(D) link 最小生成树,考虑将边权排序。然后每次暴力加边,判断是否已经联通,这样复杂度是 \(\Theta(n^2)\)。 考虑 P1117 之法,对于当前边对应的长度 \(len\),将序列上 \(len\) 的倍数的下标设为关键点。 那么一个形如 \(AA\) 的串必定经过恰好两个关 阅读全文
posted @ 2024-03-06 16:54
iorit
阅读(6)
评论(0)
推荐(0)
摘要:
四十七(A) link 由于 \(x\) 严格递增(互不相同),考虑根号分治,设定阈值 \(B\)。 对于 \(x<B\) 的部分,直接做背包,求出 \(f_i\) 表示体积 \(i\) 能获得的最大价值。 转移一个物品进背包是 \(\Theta(k)\) 的,最多 \(\Theta(B)\) 个物 阅读全文
posted @ 2024-03-06 16:54
iorit
阅读(25)
评论(0)
推荐(0)

浙公网安备 33010602011771号