洛谷
文章平均质量分 78
洛谷题目的题解
cbw3402271334a
自己选择的路,就算跪着也要走下去。
展开
-
P8022 [ONTAK2015] Cięcie 题解
洛谷 P8022 [ONTAK2015] Cięcie 题解原创 2022-08-29 10:18:55 · 347 阅读 · 1 评论 -
UVA10883 Supermean 题解
题面题目传送门题目分析非递减顺序列出给的 NNN 个数字。现在计算每一对相邻数的平均值。组成 $N-1个数字,按非递减顺序列出。在新的数字列表中重复这个过程,直到你只剩下一个数字#include<iostream>using namespace std;int n,m;double a[50039];int main(){ scanf("%d",&n); register int i,j,k; for(i=1;i<=n;i++){ scanf("%d",&原创 2020-10-24 22:11:14 · 244 阅读 · 0 评论 -
P2312 解方程 题解(作业)
题面题目描述现有一个一元高阶方程:a0+a1∗x+a2∗x2+...+an∗xn=0a0+a1*x+a2*x^2+...+an*x^n=0a0+a1∗x+a2∗x2+...+an∗xn=0现给出数字 mmm,求出此方程在 [1,m][1,m][1,m] 以内的整数解。输入格式第一行包含 222 个整数 n、mn、mn、m,每两个整数之间用一个空格隔开。接下来的 n+1n+1n+1 行每行包含一个整数,依次为 a0,a1,a2,...,ana0,a1,a2,...,ana0,a1,a2,...,原创 2020-10-07 16:04:20 · 238 阅读 · 0 评论 -
收割 题解(作业)
题面题目描述果园里有 NNN 棵果树,每天你可以选择一棵树将树上的果子摘完,获益就是树上果子的重量。但是每过一天第 iii 棵树上的果子会由于各种原因减少,导致重量下降 p[i]p[i]p[i](当然,如果树上的果子为 000 了,自然获利就是 000),问 KKK 天内你的最大获利。输入共三行: 第一行两个数 N、KN、KN、K; 第二行 NNN 个数表示树的初始重量 a[i]a[i]a[i]; 第三行 NNN 个数表示 p[i]p[i]p[i]。输出仅一行一个数,表示最大原创 2020-10-07 15:29:49 · 179 阅读 · 0 评论 -
CF922C Cave Painting 题解 (作业)
题面题目描述输入 nnn 和 kkk,判断 nnn modmodmod 111 ~ kkk 每个数的余数是不是都不相同输入输入数据包含多组,每行两个数字 nnn、kkk,空格隔开。 以000 000结束输出对于每行的有效数据,如果所有余数均不相同,输出 YesYesYes,否则输出 NoNoNo样例输入4 45 30 0样例输出NoYes提示说明/提示n,k≤1018n,k≤10^{18}n,k≤1018【样例解释】对于 444 444由于 444 modmodmo原创 2020-10-07 15:06:08 · 146 阅读 · 0 评论 -
UVA10308 Roads in the North 题解(博客搬家)
因为从一个村庄到另一个村庄时,同一个的村庄不会经过两次,所以村庄和路其实就是一棵无根树,用dfsdfsdfs 找到结点 aaa 的子结点到 aaa 的最大距离再加上次大距离即可。找到的数的值就是树的直径。也可以先从任意点 aaa 一遍 bfsbfsbfs 找到离当前点最远的点 bbb,再从该点再 bfsbfsbfs 一遍找到离该点最远的点 ccc。点 bbb 到点 ccc 之间的距离即为所求。(其实两种方法都是求树的直径)就是输入格式真的毒瘤,在输入上调了好久。代码:1.dfs 做法#inclu原创 2020-10-05 16:08:52 · 150 阅读 · 0 评论 -
P3416 [USACO16DEC]Moocast S 题解(作业)
题面题目描述Farmer John 有 N 头奶牛,他们想组建一个紧急的“传递信息”系统,以便相互之间传递重要的信息。他们决定使用对讲机来作为装备,而不是通过相互间的哞哞叫,每头牛配有一只对讲机。这些对讲机都有自己的有限传输半径,如果有限传输半径是 P 的话,也就是说该对讲机能将信息传送到与之距离不超过 P 的对讲机(请注意,奶牛 A 可能把信息传递给奶牛 B,但奶牛 B 却没办法把信息传递回去,因为奶牛A 的有限传输半径大于奶牛 B 的有限传输半径)。幸运的是,奶牛可以通过其他奶牛传递信息,所以没必要原创 2020-10-05 15:24:07 · 332 阅读 · 0 评论 -
P1855 榨取kkksc03 题解
目录题目详情题面分析代码题目详情题面传送门ps:kkk自己也说实现愿望是假的题面分析洛谷的运营组决定,如果一名 OIerOIerOIer 向他的教练推荐洛谷,并能够成功的使用(成功使用的定义是:该团队有 202020202020个或以上的成员,上传 101010101010 道以上的私有题目,布置过一次作业并成功举办过一次公开比赛),那么他可以浪费掉 kkksc03kkksc03kkksc03 的一些时间的同时消耗掉 kkksc03kkksc03kkksc03 的一些金钱以满足自己的一个愿望。k原创 2020-07-02 13:30:38 · 231 阅读 · 0 评论 -
P1060 开心的金明 题解
目录题目详情题面分析代码题目详情题面传送门题面分析从v[j 1 ]×w[j 1 ]+v[j 2 ]×w[j 2 ]+…+v[j k ]×w[j k ]v[j~1~]×w[j~1~]+v[j~2~]×w[j~2~]+…+v[j~k~]×w[j~k~]v[j 1 ]×w[j 1 ]+v[j 2 ]×w[j 2&原创 2020-07-02 13:08:03 · 193 阅读 · 0 评论 -
[NOI Online #3 入门组]观星
题面传送门就是一个dfs查找星座,然后再数出星系数。函数:#include <bits/stdc++.h>using namespace std;int n,m,maxn,maxnr,fx[8]={ 0,0,-1,1,-1, 1,-1,1}, fy[8]={-1,1,-1,1, 1,-1, 0,0};int a[1539][1539],b[900001]={0};inline void read(register int &x){ x=0;regis原创 2020-05-30 19:36:44 · 682 阅读 · 0 评论 -
[NOI Online #3 入门组]最急救助
题面传送门一个简单的模拟~~主要就是查询当前单词前后的字母是否符合题目要求。比赛时没什么好想法,打了一个虽然AC,但是很乱的代码。#include <bits/stdc++.h>using namespace std;int n,ans[201],maxn=0;struct node{ string s,t,k;}a[201];int p[201];inline void read(register int &x){ x=0;register int f=1原创 2020-05-30 19:30:52 · 861 阅读 · 0 评论 -
P3405 [USACO16DEC]Cities and States S 题解(作业)
题面题目描述为了促进奶牛的智力发展, Farmer John 在牛棚的墙上放置了一幅很大的美国地图。在奶牛们花费很多时间研究地图后,他们注意到一个奇特的现象。例如,有这样两个城市:弗林特(Flint),其州代码为 MI,和迈阿密(Miami),州代码为 FL,他们之间存在一个特殊的关系: “弗林特”(Flint)的前两个字母刚好是迈阿密的州代码(FL),同时迈阿密(Miami)前两个字母也刚好是弗林特的州代码(MI)。如果两个来自不同州的城市满足这一属性,那我们就说这两个城市是特殊的一对。奶牛们原创 2020-10-05 13:42:12 · 273 阅读 · 0 评论 -
CF416C Booking System 题解
目录题面题目分析code题面题目传送门题目分析很明显的贪心。我们把价格从大到小排,相同的话人数少的在前面,桌子按从小到大排,然后暴力双重循环枚举每一组和桌子,能够符合的就记录下来code#include<cstdio>#include<iostream>#include<algorithm>using namespace std;struct node1{ int x,y,num;}a[100039];struct node2{ int x原创 2020-09-20 13:52:11 · 176 阅读 · 0 评论 -
P2725 [USACO3.1]邮票 Stamps 题解
目录题面题目分析code题面题面传送门题目分析这就是一个完全背包。可以把当前邮资 iii 看作背包容量,每种邮票看作是一个物品,邮票的面值就是物品的体积,kkk 看作是对物品数量的一个限制。然后判断当用的邮票数目在范围内时,就取较小的。状态转移方程为 f[j]=min(f[j],f[j−x]+1)f[j]=min(f[j],f[j-x]+1)f[j]=min(f[j],f[j−x]+1)。最后从头搜就可以了。code#include<cstdio> #include&l原创 2020-09-04 22:42:31 · 369 阅读 · 0 评论 -
P2960 [USACO09OCT]Invasion of the Milkweed G
4 3 1 1 ......*. .**.原创 2020-08-13 15:16:41 · 164 阅读 · 0 评论 -
P3080 [USACO13MAR]The Cow Run G/S 题解
目录题面题目分析分析复杂度代码题面题面传送门题目分析分析这是一道区间dp题。这道题和P1220 关路灯特别相似,因为他们的状态转移方程都类似于f[l][r][0]=min(f[l+1][r][0]+改变量,f[l+1][r][1]+改变量)f[l][r][0]=min( f[ l+1 ][ r ][ 0 ] +改变量 , f[ l+1 ][ r ][ 1 ] +改变量)f[l][r][0]=min(f[l+1][r][0]+改变量,f[l+1][r][1]+改变量)f[l][r][1]=.原创 2020-07-19 16:25:02 · 152 阅读 · 0 评论 -
P3128 [USACO15DEC]Max Flow P 题解
目录题面题面分析题面题面传送门题目大意:一张有N−1N-1N−1条边的图,点的编号从111到NNN。所有点都被边连通。现在有K(1≤K≤100,000)K(1≤K≤100,000)K(1≤K≤100,000)条路线,第iii条路线连通点sisisi和点tititi。一条路线会给它的两个端点处的点以及中间途径的所有点带来一个单位的压力,计算压力最大的点的压力是多少。题面分析刚看到题面时被吓到了:这不是最大流啊。一看标签:最近公共祖先,LCA立刻开始打dfsdfsdfs的LCALCALCA。这原创 2020-07-18 15:44:46 · 235 阅读 · 2 评论 -
P1119 灾后重建 题解
#include <bits/stdc++.h>using namespace std;int a[1039],f[1039][1039],n,m,q;inline void Floyd(int k){ register int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++) if(f[i][j]>f[i][k]+f[k][j]) f[i][j]=f[i][k]+f[k][j];}int main(原创 2020-07-17 23:14:23 · 138 阅读 · 0 评论 -
P1057 传球游戏 题解
题面传送门一道明显的DP题。只需把一个数组看成一个环就行了。推亿推公式,可以得到以下结果:a[i][j]=a[i−1][j−1]+a[i−1][j+1];a[i][j]=a[i-1][j-1]+a[i-1][j+1];a[i][j]=a[i−1][j−1]+a[i−1][j+1];(这太明显了)就是前一个项的值加上后一个项的值不过要特判当数组为1或n时。代码如下:#include <bits/stdc++.h>using namespace std;int n,m,a[原创 2020-06-26 19:40:44 · 227 阅读 · 0 评论 -
P1004 方格取数 题解
题面传送门明显的DP题。用f[i][j][k][l]表示第一个人走到(i,j),第二个人走到(k,l)的最优解然后开始推公式(其实很好推,这里不展示了)通过推导,可得以下公式:f[i][j][k][l]=max(f[i−1][j][k−1][l],max(f[i][j−1][k−1][l],max(f[i−1][j][k][l−1],f[i][j−1][k][l−1])))+a[i][j]+a[k][l]f[i][j][k][l]=max(f[i-1][j][k-1][l],max(f[i][j原创 2020-06-26 19:36:51 · 171 阅读 · 0 评论