sleeping p7154 usaco cows

[CF283E] Cow Tennis Tournamsan

CF283E 答案即为 \(\binom{n}{3}\) 减去不合法环数。 一个三元环中最多1个点出度为2,所以出度为 x 的点会造成 \(\binom{x}{2}\) 个不合法的环。 \(\Omicron(nm)\) 的做法就是枚举 i,判断 i 与 n 个点连边是否反向(0,1表示)。 然后可以 ......
Tournamsan Tennis 283E 283 Cow

P2895 [USACO08FEB] Meteor Shower S

[P2895 [USACO08FEB] Meteor Shower S]([P2895 USACO08FEB] Meteor Shower S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) 语言问题引发的惨案 题目本身不难,简单的BFS,但是写出来明明思路感觉没有问题,却不是答 ......
Meteor Shower P2895 USACO 2895

[USACO18JAN] Cow at Large P

题目链接 赛时只打了暴力。 Part1 我们考虑在什么情况下要放一个村民,我们设根节点的深度为 \(0\), 那么对于一个节点 \(u\) ,如果在其子树内有一个叶子结点 \(v\), 满足 \(dis_{u, v} \leqslant dep_u\), 那么只要在这个节点放一个村民,就可以把 \( ......
USACO Large JAN Cow 18

线程死循环中的sleep,误差10ms以上

线程函数里是死循环,其中需要sleep 1ms,即1ms周期执行死循环。但是经示波器测试发现至少10ms以上。 【已测试的方法】 Sleep(1); //Windows api WaitForSingleObject(hThread, 1); //Windows api std::this_thre ......
误差 线程 sleep 10 ms

P4182 [USACO18JAN] Lifeguards P

P4182 [USACO18JAN] Lifeguards P 更好的阅读体验 提供一个比较优秀大常数的时间 \(\mathcal O(nm)\),空间线性的做法。由于变量名冲突,本文中 \(m\) 均指题目中的 \(k\)。 推推性质,发现若区间包含了另一个区间,则一定删掉被包含的区间,正确性显然 ......
Lifeguards P4182 USACO 4182 JAN

C# async await 异步条件下的线程挂起(Sleep)方法

async await 是 C# 5.0 中引入的异步编程简化方法,那如何使用这种方法进行异步时挂起线程(使某个线程等待一段时间)? 具体方法如下代码所示: 该代码第14行有一个循环,意图是每向Linux服务器发出一个命令(AsyncRunCommonCommand),然后等待一段设定的时间(Asy ......
线程 条件 方法 async Sleep

USACO2018(铂金组)

前言: 教练给我们做铂金组的题目真的抬举我们了…… [USACO18OPEN] Disruption P 题目描述: 你有一棵节点数为 \(n\),边数为 \(n-1\) 的树。然后你会给这棵树新增加 \(m\) 条边,对于每条边,有 \(u,v,w\) 分别表示边连接的两个节点分别为 \(u\) ......
铂金 USACO 2018

P2115 [USACO14MAR] Sabotage G(二分/思维)

题目 link 要求得到平均产奶量的最小值,想到二分答案。 emm...但是我在如何判断当前 \(mid\) 是否能成立上卡了好久,这里就需要思维了。 还是要想到本质上,可以试着用数学式子表达当前 \(mid\) 的合法条件, 若当前要删除 \([l,r]\) 的数,则有:(这里又可以想到用 前缀和 ......
Sabotage 思维 P2115 USACO 2115

cow relays满足结合律的证明

即证明\((A*A)*A=A*(A*A)\) 因为\(A*A=B\),所以即证明\(B*A=A*B\) 设\(C_1=B*A\),那么有$$C_1[i][j]=min_{1≤k≤p}(B[i,k]+A[k,j])$$ \[=min_{1≤k≤p}(min_{1≤l≤p}(A[i][l]+A[l][k ......
relays cow

P3119 [USACO15JAN] Grass Cownoisseur G 题解

分析 大概是强连通分量里面最水的一道紫题,不过细节挺多的,做题的时候给蒟蒻震惊到了。 题目要求是从 \(1\) 走到某个点,然后再走回 \(1\) 号点,中途可逆行一次,问最多能经过几个点。 有一个明显的思路是存两个图,一个正图一个反图,正图是为了求 \(1\) 到各个点的距离,反图是为了求各个点到 ......
题解 Cownoisseur P3119 Grass USACO

[USACO19DEC] Greedy Pie Eaters P 区间dp

题目背景 Farmer John has MM cows, conveniently labeled 1…M1…M, who enjoy the occasional change of pace from eating grass. As a treat for the cows, Farmer ......
区间 Greedy Eaters USACO DEC

USACO 2023 US Open Platinum Triples of Cows

洛谷传送门 LOJ 传送门 hot tea. 一次删点操作的影响太大了,考虑添加虚点以减小影响(相同的套路在 CF1882E2 Two Permutations (Hard Version) 也出现过)。 具体而言,我们把第 \(i\) 条边 \((u, v)\) 变成 \((u, n + i), ......
Platinum Triples USACO 2023 Open

Thread.Sleep() 和 Thread.SpinWait()

Thread.Sleep() 和 Thread.SpinWait() 前言: 应用程序应该让线程等待而不是切换。 一:Thread.Sleep(1000); Thread.Sleep()方法:是强制放弃CPU的时间片,然后重新和其他线程一起参与CPU的竞争。 二:Thread.SpinWait(10 ......
Thread SpinWait Sleep

USACO 2020.12 Platinum Spaceship

洛谷传送门 LOJ 传送门 考虑剥路径最大值 dp,设 \(f_{k, i, j}\) 为 \(i \to j\) 中按的最大的按钮 \(\le k\) 的方案数。转移枚举按下最大值按钮的点 \(w\),有: \[f_{k, i, j} = \sum\limits_{(u, w), (w, v) \ ......
Spaceship Platinum 2020.12 USACO 2020

USACO 2021.12 Platinum Paired Up

洛谷传送门 LOJ 传送门 如果 \(T = 1\),可以把重量全部取相反数转化成 \(T = 2\)。接下来只考虑 \(T = 2\) 的情况。 下文的 \(m\) 代表原题中的 \(K\)。 设第 \(i\) 个 G 牛的位置和重量分别为 \(a_{0, i}, b_{0, i}\),第 \(i ......
Platinum 2021.12 Paired USACO 2021

[USACO] Piggy Back

[USACO] Piggy Back 题目大概意思是一个无向图,Bessie 从 1 号仓库走到 n 号(每次花费 x), Elsie 从 2 号仓库走到 n 号(每次花费 y),如果两个人走同一条路花费 z,求总花费最小。 跑三遍最短路,别得到 Bessie 从 1 号仓库出发的最短路,Elsie ......
USACO Piggy Back

洛谷 P8192 - [USACO22FEB] Paint by Rectangles P

比较抽象的一个题。 首先先考虑 \(T=1\),如果我们建一张图,将图上所有横线与竖线的交点看作图上的点,相邻的有线段相连的点看作图上的边的话,那么显然会得到一张平面图,而我们要计算的是平面图上面的个数,根据公式 \(F=E-V+C+1\),其中 \(C\) 为这张图中连通块的个数。设 \(c\) ......
Rectangles P8192 USACO Paint 8192

洛谷P3607 [USACO17JAN] Subsequence Reversal P 题解

Subsequence Reversal P 思路: 发现,翻转一个子序列,就意味着两两互换子序列里面的东西。 于是我们就可以设 \(f[l][r][L][R]\) 表示: \(\max[1,l)=L,\min(r,n]=R\) 时的最长长度。 则边界为: \(L>R\) 时, \(f=-\inft ......
题解 Subsequence Reversal P3607 USACO

洛谷P3118 [USACO15JAN] Moovie Mooving G 题解

Moovie Mooving G 设 \(f[i][S]\) 表示在第 \(i\) 场(注意是场,不是部)电影时,已经看了 \(S\) 里面的电影是否合法。 然后贪心地取 \(|S|\) 最小的状态保存。光荣 MLE 了, \(21\%\)。 发现当一场电影结束后,无论这一场是在哪里看的都没关系。 ......
题解 Mooving Moovie P3118 USACO

[USACO17JAN] Promotion Counting P 题解

[USACO17JAN] Promotion Counting P 题解 前言 好久没写题解了,今天趁我心情好赶紧水一篇。 思路 首先拿到这题,关键词检索:子树,比 \(p_i\) 大的,树状数组!现在考虑如何去掉其他子树的贡献……emm,我直接在算贡献的时候去掉其他子树的贡献不就好了! 当然,暴力 ......
题解 Promotion Counting USACO JAN

[USACO08FEB]meteor Shower S题解(bfs)

题目描述 贝茜听说一场特别的流星雨即将到来:这些流星会撞向地球,并摧毁它们所撞击的任何东西。她为自己的安全感到焦虑,发誓要找到一个安全的地方(一个永远不会被流星摧毁的地方)。 如果将牧场放入一个直角坐标系中,贝茜现在的位置是原点,并且,贝茜不能踏上一块被流星砸过的土地。 根据预报,一共有 \(M\) ......
题解 Shower meteor USACO FEB

P1457 [USACO2.1] 城堡 The Castle 题解

分析 感觉没有蓝题难度 一道 bfs 题目,相较于大部分 bfs 题,它较为复杂,但分析一下还是很好水过的。 建立墙时,可以用三维数组,\(wall_{~i, ~j, ~pos}\) 表示 第 \(i\) 行第 \(j\) 列 \(pos\) 方向有墙。 观察发现,\(8 = 2^3,4 = 2^2 ......
题解 城堡 Castle USACO2 P1457

每天进步一点点 - 优雅重试轮询,替代Thread.sleep()

背景 很多时候,在进行一个需要耗时等待的操作时,我们往往选择采用间隔一段时间进行轮询的方式。这个方式比较原始的写法如下,即循环+sleep: Guava retry 添加如下依赖: 一个简单的示例如下图,除了图中的配置,还支持.retryIfException()发生错误时重试,.withRetry ......
Thread sleep

Linux 内核 --- 为什么在中断里不能 sleep

明确问题 首先,让我们明确一下问题。 对于这个问题,稍微准确一点的问法是:为什么在 Linux 的中断里,不能 sleep? 但是这个问法仍然不准确。 中断 (interrupt) 和中断服务程序 (interrupt service routine, ISR,或者是 interrupt handl ......
内核 Linux sleep

P9019 [USACO23JAN] Tractor Paths P 题解

Description 有 \(n\) 个区间,第 \(i\) 个区间为 \([l_i,r_i]\)。保证 \(l_1<l_2<\cdots<l_n\) 且 \(r_1<r_2<\cdots<r_n\)。其中一部分区间是特殊的,输入会给定。 如果第 \(i\) 个区间和第 \(j\) 个区间相交,那 ......
题解 Tractor P9019 USACO Paths

[题解]P3656 [USACO17FEB] Why Did the Cow Cross the Road I P

思路 首先,\(A\) 和 \(B\) 只会移动一个,那么,我们分开来算,我们先假定 \(B\) 会动。 不妨令 \(A\) 与 \(b\) 连边的端点为 \(x,y\)。如果有线段 \(pq\) 能与 \(xy\) 相交,一定满足如下其中一条规律: \(p < x \wedge q > y\) \ ......
题解 the P3656 Cross USACO

sleep和wait区别

sleep和wait的区别 sleep()是使线程暂停执行一段时间的方法。wait()也是一种使线程暂停执行的方法。例如,当线程执行wait()方法时候,会释放当前的锁,然后让出CPU的执行权,进入等待状态。并且可以调用notify()方法或者notifyAll()方法通知正在等待的其他线程。not ......
sleep wait

题解 [USACO04OPEN] Turning in Homework G

题目链接 先将所有作业按位置排序。 直接贪心显然是不行的,因为我们没有办法确定对于一个时间较久的作业,是在原地等待,还是在未来的某个节点返回,并且无法确定是那个节点,所以只能考虑 \(dp\)。 对于此类可以倒来倒去的问题,通常考虑区间 \(dp\),若设 \(f_{i,j}\) 表示完成区间 \( ......
题解 Homework Turning USACO OPEN

P2951 [USACO09OPEN] Hide and Seek S 题解

Problem 题目概述 给你一个无向图,边权都为 \(1\) ,求:离 \(1\) 号点最远的点的编号、最远的距离、有几个点是离 \(1\) 号点最远的。 思路 直接用:优先队列 \(BFS\),先求出 \(1\) 号点到每个点的最短路,存到 \(dis\) 数组中,然后再求 \(max(dis[ ......
题解 P2951 USACO 2951 OPEN

P1522 [USACO2.4] 牛的旅行 Cow Tours

Problem 题目简述 给你两个独立的联通块,求:在两个联通块上各找一个点连起来,使得新的联通块的直径的最小值。 思路 本题主要做法:\(Floyd\)。 首先,Floyd求出任意两个点之间的最短路。 枚举每一个点,求出以这个点能走到的所有点中距离的最大值。(一定在能走到的情况下,不然默认距离就是 ......
USACO2 P1522 USACO Tours 1522