Problem 1. Empty Stalls 扫两遍即可. Problem 2. Line of Sight 我们发现能互相看见的一对点一定能同时看见粮仓的某一段.于是转换成有n段线段,问有多少对线段相交.可以按左端点排序,用优先队列维护右端点,弹出比左端点小的. 为了方便计算对数,我们可以先做一遍,再把每个线段都+2*pi,再计数. Problem 3. No Change (没有看到要买的东西必须是依次的..) 如果要依次买的话就显然可以用dp搞.…
Comet OJ - Contest #2 简要题解 cometoj A 模拟,复杂度是对数级的. code B 易知\(p\in[l,r]\),且最终的利润关于\(p\)的表达式为\(\frac{(p-l)(\frac{L+R}{2}-p)}{r-l}\),二次函数求最值即可. code C 枚举独立集点数即可.\(\sum_{i=0}^n\binom nip^{\binom i2}\). code D 树上的任意一个满足\(|S|\ge2\)的点集\(S\)均有一个唯一的中心,即直径的中点(…
Comet OJ - Contest #2简要题解 前言: 我没有小裙子,我太菜了. A 因自过去而至的残响起舞 https://www.cometoj.com/contest/37/problem/A?problem_id=1528 容易发现那玩意增长的飞快,只要模拟就可以了 //❤ ayaponzu* #include <cstdio> #include <cstring> #include <algorithm> #include <cstdlib>…
300iq Contest 1 简要题解 咕咕咕 codeforces A. Angle Beats description 有一张\(n\times m\)的方阵,每个位置上标有*,+,.中的一种.你要用尽可能多的\(I\)型和\(L\)型覆盖这个方阵(均占恰好\(3\)个位置),要求\(I\)型中间那个位置必须是+,\(L\)型中间那个位置必须是*或者+,两者非中间的两个位置必须都是.. \(1 \le n, m \le 100.\) solution 由于某种原因,这道题咕咕咕了. B.…
好久没更博了,还是象征性地更一次. 依然延续了简要题解的风格. 题目链接 https://cometoj.com/contest/46 题解 A. 迫真字符串 记 \(s_i\) 表示数字 \(i\) 出现的次数,答案为 \(\min\{\lfloor\frac{s_1}{3}\rfloor, \lfloor\frac{s_4}{2}\rfloor, s_5\}\). #include<bits/stdc++.h> using namespace std; int main() { ios::…
Problem 2. Fruit Feast 很简单的智商题(因为碰巧脑出来了所以简单一,一 原题: Bessie has broken into Farmer John's house again! She has discovered a pile of lemons and a pile of oranges in the kitchen (effectively an unlimited number of each), and she is determined to eat as m…
AtCoder Grand Contest 031 Atcoder A - Colorful Subsequence description 求\(s\)中本质不同子序列的个数模\(10^9+7\).两个子序列不同当且仅当存在一种字符在两者中的出现次数不同. \(|s|\le10^5\) solution \(\prod_{i='a'}^{'z'}(\mbox{字符}i\mbox{出现的次数}+1)-1\) #include<cstdio> #include<algorithm>…
1.Circular Barn   http://www.usaco.org/index.php?page=viewproblem2&cpid=621 贪心 #include <cstdio> #include <vector> #include <algorithm> #include <cstring> using namespace std; long long sum(long long v) { )*(*v+)/; } int main()…
1.Angry Cows http://www.usaco.org/index.php?page=viewproblem2&cpid=597 dp题+vector数组运用 将从左向右与从右向左扫描结合.先从左到右DP,确定每个干草捆向右爆炸的最小半径,再从右到左,确定每个干草捆向左爆炸的最小半径.通过扫描每个干草捆,用这两个数字来确定我们应该设置初始引爆点的最佳位置. #include <cstdio> #include <algorithm> #include <v…
从这里开始 比赛目录 Problem A Connection and Disconnection 简单讨论即可. Code #include <bits/stdc++.h> using namespace std; typedef bool boolean; const int N = 105; #define ll long long int n, K; char s[N]; vector<int> len; void work() { for (int i = 1, j =…
C2 首先用并查集维护\(1\)的连通块,然后用另外一个并查集维护第\(i\)行中,第\(j\)列之后的第一个\(0\)的位置,就是如果当前位置是\(1\)那么它的父亲是它右边的格子,否则是它自己. 时间复杂度\(O(nm\log m+nq)\). #include<bits/stdc++.h> #define Rint register int using namespace std; const int N = 1003, d[2][4] = {{0, 1, 0, -1}, {1, 0,…
比赛传送门 水题大赛? 全是水题啊!!! T1 ABC333 就是判断是不是两个数都是奇数就行了. 代码: #include<bits/stdc++.h> using namespace std; int main(){ int a,b; cin>>a>>b; if(a%2&&b%2)cout<<"Yes"; else cout<<"No"; return 0; } T2 Shiritori…
比赛传送门 T1 Triangular Relationship 分析之后发现有两种情况: 1. n为奇数,那么所有数都是k的倍数. 2. n为偶数,那么所有数都是k/2的倍数. 然后就可以愉快A题了. 代码: #include<bits/stdc++.h> #define N 200005 #define ll long long using namespace std; inline ll read(){ ll ans=0; char ch=getchar(); while(!isdigi…
A-C 直接放代码吧. A int n,k; int main() { n=read();k=read(); puts(k<=(n+1)/2?"YES":"NO"); return 0; } B int d[N];pair<int,int>s[10]; int main() { for(int i=1,u,v;i<=3;i++){ u=read();v=read(); s[i].first=u;s[i].second=v; d[u]++;d[…
从这里开始 比赛目录 A < B < E < D < C = F,心情简单.jpg. Problem A >< 把峰谷都设成 0. Code #include <bits/stdc++.h> using namespace std; typedef bool boolean; const int N = 5e5 + 5; int n; char s[N]; int L[N], R[N]; int main() { scanf("%s",…
从这里开始 题目目录 Problem A XOR Circle 你发现,权值的循环节为 $a_0, a_1, a_0\oplus a_1$,然后暴力即可. Code #include <bits/stdc++.h> using namespace std; typedef bool boolean; const int N = 1e5 + 5; int n; int a[N], b[N]; void quitif(boolean condition, const char* vert = &q…
从这里开始 比赛目录 Problem A Triangle 考虑把三角形移到和坐标轴相交,即 然后能够用坐标比较简单地计算面积,简单构造一下就行了. Code #include <bits/stdc++.h> using namespace std; typedef bool bolean; #define ll long long const int V = 1e9; ll S; int main() { scanf("%lld", &S); if (S == 1…
从这里开始 题目目录 Problem A Dividing a String 猜想每段长度不超过2.然后dp即可. 考虑最后一个长度大于等于3的一段,如果划成$1 + 2$会和后面相同,那么划成$2 + 1$,如果前一段和前面相同,那么把前一段和前面合并.每次操作后段数都不会减少.所以存在一种最优方案使得每段长度不超过2. Code #include <bits/stdc++.h> using namespace std; typedef bool boolean; const int N =…
从这里开始 比赛目录 Problem A 01 Matrix Code #include <bits/stdc++.h> using namespace std; typedef bool boolean; const int N = 1e3 + 5; int W, H, A, B; int main() { scanf("%d%d%d%d", &W, &H, &A, &B); for (int i = 0; i < W; i++) {…
D - Ki 题意:给一棵有根树,节点1为根,有$Q$次操作,每次操作将一个节点及其子树的所有节点的权值加上一个值,问最后每个节点的权值. 思路:dfs序再差分一下就行了. #include <bits/stdc++.h> using namespace std; ; vector<int> G[N]; int dfn[N], id, n, q, last[N], pos[N]; long long val[N], ans[N]; void dfs(int u, int fa) {…
模拟二月金组,三个半小时AK. USACO 2019 Feburary Contest, Gold T1 题意:给定一棵树,每个点有点权,每次可以进行以下操作之一: 更改一个点的点权 求某条路径上的点的点权的亦或值 思路:这这这...金组什么时候第一题都是树链剖分了... 这题是个树链剖分的模板题.(但是我捣鼓了好久... 首先将原树进行树链剖分,将每一个节点分在一条重链内.然后链与链之间用轻链连接. 对于操作1,我们只用将这个点的值在\(BIT\)中修改即可. 对于操作2,我们这样处理: 首先…
目录 Milking Order @USACO 2018 US Open Contest, Gold/upc_exam_6348 PROBLEM 题目描述 输入 输出 样例输入 样例输出 提示 MEANING SOLUTION CODE Milking Order @USACO 2018 US Open Contest, Gold/upc_exam_6348 PROBLEM 题目描述 Farmer John's N cows (1≤N≤105), numbered 1-N as always,…
USACO 2006 November Gold Corn Fields 题目描述: Farmer John has purchased a lush new rectangular pasture composed of M by N square parcels. He wants to grow some yummy corn for the cows on a number of squares. Regrettably, some of the squares are infertil…
最近因为闲的蛋疼(停课了),所以开始做一些 USACO 的银组题.被完虐啊 TAT 貌似 Pogo-Cow 这题是 2013 Nov Silver 唯一一道可说的题目? Pogo-Cow Description (大意是一条直线上有一些带权值的点,可以选择一个点作为出发点,选好一个前进方向(左或右)然后不断地向前跳到另一个点,得分为这个点的权值,要求每一跳的跳跃距离不小于前一跳,求能获得的最大得分) In an ill-conceived attempt to enhance the mobil…
USACO 2013 JAN 一.题目概览 中文题目名称 镜子 栅栏油漆 奶牛排队 英文题目名称 mirrors paint lineup 可执行文件名 mirrors paint lineup 输入文件名 mirrors.in paint.in lineup.in 输出文件名 mirrors.out paint.out lineup.out 每个测试点时限 1秒 1秒 1秒 测试点数目 10 10 10 每个测试点分值 10 10 10 比较方式 全文比较 全文比较 全文比较 二.运行内存限制…
题目链接 https://codeforces.com/contest/1083 简要题目翻译 题解 A. The Fair Nut and the Best Path 可以忽略掉"任意时刻油量非负"这一条件,直接在原树上找一条点权和减去边权和最大的路径.因为若一种方案包含了一段从起点出发,到某个结点时油量为负数的路径,那么删掉这一段路径必然会使得最终答案更优. 这样直接在原树上做一遍 \(O(n)\) 的 dp 即可. #include<bits/stdc++.h> us…
这十题感觉是100题内相对较为麻烦的,有点搞我心态... HDU2060 Snooker 题目链接 Problem Description background: Philip likes to play the QQ game of Snooker when he wants a relax, though he was just a little vegetable-bird. Maybe you hadn't played that game yet, no matter, I'll in…
USACO 2013 NOV SILVER 一.题目概览 中文题目名称 未有的奶牛 拥挤的奶牛 弹簧牛 英文题目名称 nocow crowded pogocow 可执行文件名 nocow crowded pogocow 输入文件名 nocow.in crowded.in pogocow.in 输出文件名 nocow.out crowded.out pogocow.out 每个测试点时限 1秒 1秒 1秒 测试点数目 10 10 10 每个测试点分值 10 10 10 比较方式 全文比较 全文比较…
USACO 2013 DEC SILVER 一.题目概览 中文题目名称 挤奶调度 农场航线 贝西洗牌 英文题目名称 msched vacation shuffle 可执行文件名 msched vacation shuffle 输入文件名 msched.in vacation.in shuffle.in 输出文件名 msched.out vacation.out shuffle.out 每个测试点时限 1秒 1秒 1秒 测试点数目 10 10 10 每个测试点分值 10 10 10 比较方式 全文…
好吧,day2T1把d默认为1也是醉了,现在只能期待数据弱然后怒卡一等线吧QAQ Day0 第一次下午出发啊真是不错,才2小时左右就到了233,在车上把sao和fate补掉就到了= = 然后到宾馆之后,没wifi的生活就是惨啊QAQ 把空境补完就睡了= = Day1 时隔一年,终于又回到了六中,不过题目真是越来越简单了QAQ,day1 3道水题直接水过了,然后就开始对拍了,不过我对拍+出数据的正确方法还没掌握,必须给力一点啊QAQ 回到宾馆之后,去找偏远小渔村补番队的蹭了下wifi 下了魔法少女…