![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
洛谷
文章平均质量分 53
洛谷题解
Melancholy_◢◤
Avicii Forever
展开
-
洛谷P3605 [USACO17JAN]Promotion Counting P
洛谷P3605 [USACO17JAN]Promotion Counting P题目传送门思路:这道看起来很想线段树合并和树上启发式合并的题,而且也确实能这么做。但是这两种做法实现起来却并不简单。于是我们考虑用实现简单好理解的 dfs+dfs+dfs+ 树状数组实现。树状数组肯定是用来求逆序对的,所以先要离散化。设 ansians_iansi 表示 iii 节点的答案,那么 ansians_iansi === 加上 iii 的子树后比 iii 强的 −-− 原先就比 iii 强的。这一步原创 2021-11-18 10:42:54 · 273 阅读 · 0 评论 -
CF819E Mister B and Flight to the Moon
CF819E Mister B and Flight to the Moon题目传送门思路:构造乱搞题……对于已经有 nnn 个点无向完全图,我们考虑最后加入的两个点 uuu 和 vvv 会连出什么类型的边。∀i∈[1,n−2],∃u↔i\forall i\in[1,n-2],\exists u\leftrightarrow i∀i∈[1,n−2],∃u↔i∀i∈[1,n−2],∃i↔v\forall i\in[1,n-2],\exists i\leftrightarrow v∀i∈[1,n−原创 2021-11-15 18:17:13 · 839 阅读 · 0 评论 -
CF1137C Museums Tour
CF1137C Museums Tour题目传送门思路:带阴间题这题关键在于想到建分层图。我们设第 iii 层的 nnn 个点表示星期 iii 的 nnn 个博物馆的 0/10/10/1 状态。建图的时候对于一条边 (u,v)(u,v)(u,v),我们从第 iii 天的 uuu 连向第 i+1i+1i+1 天的 vvv。然后对于这个图进行缩点(这还挺显然的 ),再对于这个 DAGDAGDAG 跑一个最长链就好啦!但有一些细节,怎么判断同一个 uuu 在 i,ji,ji,j 两天有没有重复计算原创 2021-11-15 17:35:48 · 119 阅读 · 0 评论 -
CF453C Little Pony and Summer Sun Celebration
CF453C Little Pony and Summer Sun Celebration题目翻译:给一个无向图,nnn 个点 mmm 条边,给定一个 010101 序列,如果 ai=1a_i=1ai=1,要求走到这个点奇数次,否则,要求走到这个点偶数次,请你任选起点,输出满足要求的经过点的序列和序列长度,序列长度不能超过 4×n4\times n4×n。题目传送门前置芝士:0是偶数(或为此题最大难点思路:知道了前置芝士,就知道若图不连通且两个连通块内都有要求经过奇数次的点时无解,连通图一定有原创 2021-11-12 15:52:34 · 383 阅读 · 0 评论 -
CF850D Tournament Construction
CF850D Tournament Construction题目传送门挺难的一道构造题。题目大意:给定 mmm 个数的一个非负整数集合,不超过 303030。你需要构造一个竞赛图,满足:所有点的出度去重后等于该集合。m≤31m≤31m≤31前置芝士:兰道定理(Landau’s Theorem):设点 iii 的出度为 did_idi,那么对于任意 1≤i≤n1≤i≤n1≤i≤n,有∑j=1idi≥i×(i−1)2∑^i_{j=1}d_i≥\frac{i\times(i−1)}{2}∑j=1i原创 2021-11-12 15:35:14 · 407 阅读 · 0 评论 -
CF720C Homework
CF720C Homework题目传送门题目描述:今天Peter有一项额外的作业:老师给定三个字母 nnn,mmm,kkk。需要在一个 n×mn\times mn×m 的网格当中标记一些方格。要求至少要标记一个方格,标记的所有方格必须形成一个联通块,且标记的方格中必须恰好包含 kkk 个"L"形(即在一个 2×22\times22×2 的方格中标记了3个方格所形成的图形)。Peter不能完成这项作业,因此向你求助。请帮助他构造出这样的一个图形。输入格式:输入的数据包含一组或多组数据。第一行包含一原创 2021-11-11 16:13:27 · 229 阅读 · 0 评论 -
CF600F Edge coloring of bipartite graph
CF600F Edge coloring of bipartite graph题目传送门挺好的构造题有一个结论:二分图的最小边染色结果等于点的最大度数。这个结论挺显然的,就不证了。然后我们考虑怎么构造:对于有连边的两点 xxx 和 yyy,为了使颜色尽可能小,我们定义 mex(x)mex(x)mex(x) 为 xxx 这个点没有使用过最小的颜色。那么对于 mex(x)=mex(y)mex(x)=mex(y)mex(x)=mex(y) 的情况,我们直接把这条边染成 mex(x)mex(x)mex原创 2021-11-11 15:40:46 · 354 阅读 · 0 评论 -
CF508D Tanya and Password
CF508D Tanya and Password题目传送门这道看似是字符串的题居然是图论我们把每个字符串的前两个字符和后两个字符看作点,并建边然后跑欧拉路径即可有一处小细节:就是欧拉路径的起点初始不能赋成 000 而要随便赋一个存在的点然后后面再更新因为可能形成一个环,造成 RERERE卡了我一个点嘤嘤嘤代码:#include<bits/stdc++.h>#define freo(a) freopen(a".in","r",stdin),freopen(a".out",原创 2021-11-10 10:53:11 · 450 阅读 · 0 评论 -
洛谷 P4200 千山鸟飞绝&&平衡树
洛谷 P4200 千山鸟飞绝&&平衡树题目传送门题目十分阴间……是一道练习平衡树的好题。我们可以看到题目描述得天花乱坠,其实只需要对于每只鸟所在的坐标维护一颗splay就好了。注意是对每只鸟所在的坐标,不是每个坐标。我们需要维护的信息是最大团结值和 sizsizsiz 和最大威武值和 valvalval。为此需要维护两个懒标记,一个记录 sizsizsiz,一个记录 valvalval。然后在 splaysplaysplay 的过程中下传标记维护即可。数据范围过大,所以需要原创 2021-10-29 07:51:28 · 211 阅读 · 0 评论 -
洛谷P4402 [Cerc2007]robotic sort 机械排序&&平衡树
洛谷P4402 [Cerc2007]robotic sort 机械排序&&平衡树整整调了一下午……嘤嘤嘤虽然都说是文艺平衡树的板子题但是我觉得思路也并不是很板子在维护平衡的时候不是以数值,而是以位置为权值维护一颗splay。 翻转的时候就把第i个数的提到根,看它的左儿子的大小即它前面的数的个数。 然后模拟题目中说的操作,把i-1提到根,再把i的后继提到i-1的下面中间夹的就是 i−1i-1i−1 ~ iii 了其中rotaterotaterotate操作有亿些细节加深了我对文艺平衡原创 2021-10-28 08:50:32 · 119 阅读 · 0 评论 -
YBTOJ软件安装&&洛谷P2515(强连通分量)
YBTOJ软件安装&&洛谷P2515题目传送门思路:强连通分量+树形DP首先对于每个i,从Di向i建一条有向边。在这里我们发现,依赖关系可以形成环。对于一个环,里面的节点要么都选,要么都不选。所以,这里先tarjan强连通分量缩点,构成一个新图,这样新图里的每一个节点可以看成一个整体考虑(因为对应的原图里的节点要么选要么都不选)。然后新建一个虚拟节点,向...原创 2021-09-06 18:47:58 · 135 阅读 · 0 评论 -
洛谷CF1111D
洛谷CF1111D题目传送门这是竞赛生涯中切的第一道黑题!!!千万别降紫了啊题面translate:给一个字符串,由至多52种字符组成,m次询问,每次询问两个字符x和y,问有多少种重排方案使得所有同种字符在前一半或者后一半,并且x和y必须在同一半。n,m≤10^5 且为偶数。思路:首先统计每种字符的出现次数,记为 t_i。先不考虑x和y,对于一种合法方案,需要选出一个子集使得其和为n/2,每种选法对应的排列方案数是因为 n/2个元素全排列就 (n/2)! 种可能性,但其中有一些相同的类型原创 2021-08-02 23:05:41 · 379 阅读 · 1 评论 -
洛谷P1156垃圾陷阱
洛谷P1156垃圾陷阱题目传送门思路: 可以看出这道题是背包模型,其中高度是代价,生命是价值。我们定义f[i]表示高度i时生命的最大值为f[i]。显然,在这之前我们需要把下落时间按从小到大排序。具体解释看代码注释。AC代码:#include<bits/stdc++.h>using namespace std;int d,g,f[350];struct laji{ int t,f,h;}lj[105];bool cmp(laji x,laji y) {return x.t&l原创 2021-08-02 19:51:06 · 103 阅读 · 0 评论 -
YBTOJ荆轲刺秦&&洛谷P6474
YBTOJ荆轲刺秦&&洛谷P6474题目传送门思路: 搜索框架很好想,用一个五元组表示搜索状态(x,y,u1,u2,t),意为用u1次隐身,u2次瞬移,花了t时间,来到(x,y)。然后按不用魔法、使用瞬移、使用隐身的优先级分别枚举每种状态,进行bfs,然后加一些小剪枝即可AC。难点: 这道题处理士兵视线的时候需要用到前缀和优化,否则时间复杂度将会达到O(n^4)。考虑将区间覆盖问题用差分+前缀和实现:对于一个a^2的矩阵,将其看作a个一维区间,对于每个区间[l,r],我们在位置l出+原创 2021-07-29 12:23:53 · 124 阅读 · 0 评论 -
YBTOJ反素数&&洛谷P1463(数论)
YBTOJ反素数&&洛谷P1463()题目传送门打表什么的就不说了,主要讲讲正解。对于每个反素数,有如下性质:性质1: 1~ N中的最大的反质数,就是1~N中约数个数最多的数中最小的一个 。证明: 反证法,如果m不是1 ~N中约数最多的,则必然有其他小于m的数比m约数多,与定义不符。同理,如果m不是约数最多的数中最小的,则必然有小于m数约数和m一样多,与定义不符。故,m必为约数最多的数中最小的。性质2:1~N中任何的不同质因子都不会超过10个,且所有质因子的指数总和不超过30。原创 2021-07-23 16:49:04 · 149 阅读 · 0 评论 -
YBTOJ炮兵阵地&&洛谷P2704
YBTOJ炮兵阵地&&洛谷P2704题目传送门状压DP,详见代码留给自己以后遇到题不会的模板#include<bits/stdc++.h> using namespace std;int n,m,k;int s[1005],g[1005];int f[102][1005][1005],ans;char ma[103];int mp[103];int get(int x){ int e=0; while(x>0) { ++e; x-=x&原创 2021-07-22 16:41:30 · 214 阅读 · 0 评论 -
洛谷P1854 花店橱窗布置
洛谷P1004 [NOIP2000 提高组] 方格取数题目传送门flower一题是IOI99第一天第一题,该题如用组合的方法处理,将会造成超时。正确的方法是用动态规划,考虑角度为一束一束地增加花束,假设用b[i][j]表示1~i束花放在1到j之间的花瓶中的最大美学值,其中i<=j ,则b[i][j]=max(b[i-1][k-1]+A[i][k]),其中i<=k<=j,A[i][k]的含义参见题目。输出结果时,显然使得b[F][k]取得总的最大美观值的第一个k值就是第F束花应该摆放的花原创 2021-06-19 18:33:10 · 174 阅读 · 0 评论 -
洛谷P1004 [NOIP2000 提高组] 方格取数
洛谷P1004 [NOIP2000 提高组] 方格取数题目传送门看到这道题差点手痒写暴搜……我们定义一个四维数组f[i][j][k][d]同时枚举两条路。一个四重循环枚举两条路分别走到的位置。由于每个点均从上或左继承而来,故内部有四个if,分别表示两个点从上上、上左、左上、左左继承来时,加上当前两个点所取得的最大值。如果i=k&&j=d就减去一个格。AC代码:#include<bits/stdc++.h>using namespace std;int f[15][1原创 2021-06-19 18:11:53 · 152 阅读 · 0 评论 -
洛谷P1281 书的复制
洛谷P1281 书的复制题目传送门这道题看到题目中“复制时间为抄写页数最多的人用去的时间”就可以知道可以二分答案,但是当时我没想到,所以就写了个区间DP……先用求个前缀和,这样便于计算区间的和。定义f[t][i]表示前i个数分t段,b[]为前缀和数组,状态转移方程:tmp=max(f[t-1][j-1],b[i]-b[j-1]),f[t][i]=min(f[t][i],tmp)(1<=j<=i)。因为我们要找最大时间最小,所以每次就要先选出f[t-1][j-1]和当前区间和的最大值,然后再原创 2021-06-17 19:56:12 · 173 阅读 · 0 评论 -
洛谷P2758 编辑距离
洛谷P2758 编辑距离题目传送门题目很简单,分情况即可:用i,j分别枚举a,b两串长度,如果当前这位相同,那么f[i][j]=f[i-1][j-1],否则f[i][j]=min(f[i-1][j-1],min(f[i-1][j],f[i][j-1]))(分三种情况考虑)。还是有一些细节的,具体见代码:AC代码:#include<bits/stdc++.h>using namespace std;int f[2005][2005],n,m;char a[2005],b[2005]原创 2021-06-15 19:59:21 · 53 阅读 · 0 评论 -
洛谷P1064 [NOIP2006 提高组] 金明的预算方案
洛谷P1064 [NOIP2006 提高组] 金明的预算方案题目传送门这道题考试时我的思路是挨个枚举每件物品,然后判断是否是附件,然后判断对应主件买没买,然后判断……然后就爆了……考完才知道正确的思路是枚举每一件主件,然后判断附件能不能买,这样就简化了许多。AC代码:#include<iostream>using namespace std;int m,n,mw[33333],mv[33333],fw[33333][3],fv[33333][3],f[33333],v,p,q;in原创 2021-06-10 19:45:58 · 181 阅读 · 0 评论 -
洛谷P2760 科技庄园
洛谷P2760 科技庄园题目传送门这道题是真正的一道好题呀!这道题是一道隐蔽的多重背包,如果没发现很容易写成跑图类DP……就像我一样每个点能摘的桃子数是这个点的价值,这个点离原点的距离的2倍是这个点的体积(因为要会来),然后可以摘的次数是这个点的件数。这样,我们把每个点跑一遍多重背包就出来了。这里的时间和体力其实是一样的,把它们去min当成背包容量就行了。但是:回来的时候体力不能为0!!!AC代码:#include<bits/stdc++.h>using namespace s原创 2021-06-10 19:29:46 · 246 阅读 · 0 评论 -
洛谷P1831杠杆数(数位DP)
洛谷P1831杠杆数(数位DP)题目传送门今天第一次接触数位DP,还是有点费解的……算法介绍:数位DP,顾名思义就是跟数字有关。事实上,数位DP的题目类型基本是“求[l,r]中满足某某条件的数的个数”。通常,l,r的大小都会超过int甚至long long,因此O(n)的算法是行不通的。做这类题我们通常会使用“试填法”的思想,先利用DP预处理,再逐位枚举拼凑,或者直接使用记忆化搜索实现。俗话说数位DP就是另一种暴力枚举思路:再看这道题符合数位DP的特点,所以我们就用数位DP来做。1:对于[x原创 2021-06-01 20:45:35 · 172 阅读 · 0 评论 -
洛谷P2347 [NOIP1996 提高组] 砝码称重
洛谷P2347 [NOIP1996 提高组] 砝码称重题目传送门好吧这题是水题一个,但是比赛是我犯了一个伞兵错误卡掉了8分……错在这里:f[j]|=f[j-w[i]];这里不可以是=而要是|=,因为如果是=的话,后面是0的值就有可能把前面可以的值覆盖掉,导致少算……洛谷的数据太水了,这点细节反映不出来,但是遇到hack还是会被卡分……AC代码:#include<bits/stdc++.h>using namespace std;int w[7]={0,1,2,3,5,10,2原创 2021-05-27 20:41:24 · 254 阅读 · 0 评论 -
洛谷P2066 机器分配
洛谷P2066 机器分配题目传送门题目描述总公司拥有高效设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M≤15,N≤10。分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数M。输入格式第一行有两个数,第一个数是分公司数N,第二个数是设备台数M。接下来是一个N*M的矩阵,表明了第 I个公司分配 J台机器的盈利。输出格式第1行为最大盈利值第2到第n为第i分公司分x台P.S.原创 2021-04-29 20:34:46 · 361 阅读 · 0 评论 -
洛谷P1091 [NOIP2004 提高组] 合唱队形
洛谷P1091 [NOIP2004 提高组] 合唱队形题目传送门这题就是一个dp模版题,先整体求最长上升子序列和最长下降子序列,然后从1到n枚举,找出i位置最长上升和下降的和,然后和ans取max,最后用n-ans就行了。AC代码:#include<cstdio>#include<algorithm>using namespace std;int n,a[105],f[2][105],ans;int main() { scanf("%d",&n); fo原创 2021-04-27 20:02:37 · 216 阅读 · 0 评论 -
挖地雷
挖地雷和洛谷题不完全相同,千万别抄这道题用记忆化搜索,虽然拓扑排序也行但是我不会状态转移方程:dp[i]=max(dp[i],dp[j])dp[j]表示从j出发,能挖到的最多地雷数,然后每个点枚举一下就ok了AC代码:#include<bits/stdc++.h>using namespace std;int n,a[2005],ans,dp[2005];struct edge{ int to,nxt;}e[20005];int head[2005],ecnt,next原创 2021-04-20 20:56:12 · 276 阅读 · 0 评论 -
洛谷P1259 黑白棋子的移动
洛谷P1259 黑白棋子的移动题目传送门思路很简单然而我没做出来 :每次移动棋子的操作就相当于把中间两个移到最后,再把中间后面两个移到中间,然后递归到n==4的时候就可以固输了!AC代码:#include<bits/stdc++.h>using namespace std;char chess[105];void move(int x,int y){ char c; c=chess[x],chess[x]=chess[y],chess[y]=c;}void原创 2021-03-30 20:55:43 · 597 阅读 · 0 评论 -
洛谷P1006 [NOIP2008 提高组] 传纸条
洛谷P1006 [NOIP2008 提高组] 传纸条题目传送门注意了:题面有坑!先输入m,后输入n!看到n的范围……50!O(n^4)可以过!我们用四层循环来分别枚举来回所走的两个点。详细讲解见代码。#include<bits/stdc++.h>using namespace std;int dp[55][55][55][55],a[55][55],n,m;int main(){ scanf("%d%d",&m,&n); for(int i=1;i<原创 2021-03-20 16:43:58 · 192 阅读 · 0 评论 -
区间类DP和分段类DP的细节解析&&洛谷P1388算式详解
区间类DP和分段类DP的细节解析上一节课讲了分段DP,当时上课没太理解它和区间DP的区别,课后和几位机房大 佬讨论之后总算明白了,于是写下这篇博客,来帮助我像这样的蒟蒻理解定义1:区间类DP是一类在区间上进行动态规划的最优问题,一般是根据问题设出一个表示状态的dp,可以是二维的也可以是三维的,一般情况下为二维。然后将问题划分成两个子问题,也就是一段区间分成左右两个区间,然后将左右两个区间合并到整个区间,或者说局部最优解合并为全局最优解,然后得解。这类DP可以用常规的for循环来写,也可以用记忆化搜原创 2021-03-17 22:16:35 · 464 阅读 · 2 评论 -
洛谷P4290 [HAOI2008]玩具取名
洛谷P4290 [HAOI2008]玩具取名题目传送门这道题老实说我卡了两天……第一天晚上样例看了一个点愣是没看懂,翻题解也没有解释样例的,到了第二天才看懂了。那么我就先解释一下样例吧(给和我一样阅读理解差极的人)这是题目给出的样例数据,那么为什么是IN呢?首先我们来看给出的名字IIII。先把它用给出的字母表(W,I,N,G各自的代替字母)还原成WW,然后我们发现字母表中I和N可以用WW代替,所以答案就是I和N!理解了题意之后算法就很清晰了,那就是区间dp,这里的区间dp和普通让你求最优结构的区原创 2021-03-15 22:45:09 · 250 阅读 · 0 评论 -
洛谷P3147[USACO16OPEN]262144 P
洛谷P3147[USACO16OPEN]262144 P题目传送门刚做完P3146 [USACO16OPEN]248 G看到样例一样,题意基本相同,不假思索的想双倍经验一下,结果发现n的范围扩大了好多,之前O(n^3)做法肯定行不通了,那怎么办呢?所以此题我们用的类似倍增的方法做我们定义f[i][j],里面存的值是左端点为j,能合并出i这个数字的右端点的位置那么状态转移方程如下:f[i][j]=f[i-1][f[i-1][j]]分析:我们先在脑海中画一个数轴,然后最左边的一个点位置为j,那么我原创 2021-03-14 20:11:21 · 264 阅读 · 0 评论 -
洛谷P3146 [USACO16OPEN]248 G
洛谷P3146 [USACO16OPEN]248 G题目传送门刚刚做完石子合并就来做这个题。读完题之后不假思索的照着石子合并的码略加改动就交了上去,结果:照着样例和下载的数据点改了一个小时就是不过。于是气急败坏地打开题解才发现一个隐藏条件:只有当两个相邻的数相等的时候才能合并!出题人就不能考虑一下没玩过2048的蒟蒻的感受吗?!于是我们把正常的石子合并加一个判断条件,即f[i][k]==f[k+1][r]就完美A掉了这道题AC代码:#include<bits/stdc++.h>原创 2021-03-14 19:38:00 · 104 阅读 · 0 评论 -
洛谷P2001硬币的面值
洛谷P2001硬币的面值题目传送门真是个毒瘤题一开始想这是一个多重背包板子题,于是不假思索打了上去,样例没过,再一看题,原来不是(又眼瞎了)于是再次认真读题很显然我们可以发现:如果给定硬币最小面额大于1,那么就一定输出No answer!!!因为首先价格为1的就组成不了。接着思考,假设第i种硬币已用最小硬币数ans组成最大可行价格tot,那么如果tot>=a[i+1]-1,那么可以直接i++;否则累加,tot+=a[i],直到tot>=a[i+1]-1;同时每次ans++。因.原创 2021-03-10 23:18:59 · 290 阅读 · 0 评论 -
分层图最短路
分层最短路洛谷P4568飞行路线题目描述Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格。Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转机。航空公司对他们这次旅行也推出优惠,他们可以免费在最多k种航线上搭乘飞机。那么Alice和Bob这次出行最少花费多少?输入描述:数据的第一行有三个整数,n,m,k,分别表示城市数,航线数和免原创 2021-02-02 17:43:58 · 273 阅读 · 0 评论 -
洛谷P1175
洛谷P1175题目传送门相当恶心的一道题啊!!!堪比今年儒略日!!!思路:先中缀表达式转后缀,再对后缀表达式求值。中缀表达式转后缀:O(n)扫一遍输入的中缀表达式:1.遇到数:直接输出2.遇到左括号:左括号直接入栈。3.遇到运算符号:利用建立的符号栈,栈内总原则为高级运算压在低级运算之上。4.遇到加、减、乘、除、乘方,按照正常的运算优先级处理(可以看一下P1981 表达式求值)。从栈顶开始,将运算优先级高于或等于待入栈符号的所有符号逐一出栈输出,直到遇到栈内优先级低于入栈符号的符号or左原创 2021-01-29 21:47:50 · 318 阅读 · 1 评论 -
洛谷P1198
洛谷P1198题目传送门拿到这道题不假思索地就写了个暴力ST表#include<bits/stdc++.h>using namespace std;int m,d,a[200005],t,res,dp[200005][20],que[2000005];void init(){ for(int i=1;i<=res;i++) { dp[i][0]=a[i]; } for(int j=1;(1<<j)<=res;j++) { for(int i原创 2021-01-29 17:44:58 · 121 阅读 · 0 评论 -
洛谷P1331海战
洛谷P1331海战题目传送门这道题的难点在于判断是否有船相邻。通过自己模拟的数据可以得出结论:如果图是不和法的,一定存在如下结构:# # . #或# ## .或# .# #或. ## #即在一个2*2的方格中有三个#。因为题里说船是方形的,即只能是横条或竖条刚开始不审题爆掉了37分于是就有判断:bool d(int i,int j){ int c=0; if(a[i][j]=='#') { c++; } if(a[i+1][j]==原创 2021-01-29 10:54:27 · 174 阅读 · 0 评论 -
洛谷P3405
洛谷P3405打眼一看,知道又要用map,脑中迅速构建好代码#include<bits/stdc++.h>using namespace std;map<string,int>mp;int main(){ int n,ans=0; string a,b,c[200005]; scanf("%d",&n); for(int i=1;i<=n;i++) { cin>>a>>b; c[i]=a.substr(0,2);原创 2021-01-28 19:03:04 · 184 阅读 · 0 评论 -
洛谷P7167
洛谷P7167 喷泉问题详解题目传送门刚学倍增,这道题晚上做作业的时候大脑一片空白,就会个暴力,吃掉30分低保后就做下一题了暴力代码如下:#include<bits/stdc++.h>using namespace std;struct mint{ int d,c;}p[100005];int main(){ int n,q,r,v; scanf("%d%d",&n,&q); for(int i=1;i<=n;i++) { scanf("%原创 2021-01-28 11:57:44 · 216 阅读 · 0 评论