ICode9

精准搜索请尝试: 精确搜索
  • 洛谷 P6475 [NOI Online #2 入门组] 建设城市 题解--zhengjun2022-06-11 14:05:17

    一看,这个就是一个组合数学,如图所示 这样,很容易想到分类讨论,如果\(x,y\)在两侧和\(x,y\)在同侧。 如果是两侧的话,就可以枚举这两个位置的高度然后用组合数算出来就可以了。然后的话如果在同侧就不用管什么东西,把第\(x\)个位置到第\(y\)个位置的所有位置都是一样高的,就可以看成一个

  • 洛谷P4576题解2022-06-11 11:00:35

    原题 P4576 [CQOI2013]棋盘游戏 思路概述 题意分析 给定一个大小为 \(n×n\) 的棋盘和白子与黑子坐标 \((x_1,y_1),(x_2,y_2)\) 。定义白子与黑子的移动操作:白子每回合可以向四个方向移动一格;黑子每回合可以向四个方向移动一或两格。规定白子先出棋。要求求解必胜方并且输出操作

  • 洛谷-P3381 【模板】最小费用最大流2022-06-11 00:00:29

    【模板】最小费用最大流 EK 改 SPFA #include <iostream> #include <queue> #include <algorithm> using namespace std; typedef long long ll; const int maxn = 1e5 + 10; const ll inf = 1e17 + 10; int tp = 1, nex[maxn], head[maxn], to[maxn], vis[maxn], last[

  • 洛谷P2860 [USACO06JAN]Redundant Paths G (tarjan,边双缩点)2022-06-10 22:00:10

    本题的大意就是加最少的边使得图成为边双。 多举例子,画图分析可得:最终答案就是叶子节点(度数为1的点)的个数加1在除以2。 那么我们的目的就转化为找叶子节点: 首先通过tarjan找到割边,再dfs将原图分为几个边双(通过割边划分),缩点,最后统计度数为1的节点个数即可。 1 #include<bits/stdc

  • 洛谷P2341 [USACO03FALL / HAOI2006] 受欢迎的牛 G (tarjan缩点)2022-06-10 21:34:55

    在本题中很明显,给你一个有向图,要用tarjan缩点。 缩点后,一头牛要受到所有牛的欢迎,那么该点的出度要为0,这是容易证明的:如果该点还有出度,比如a连向b,那么a不受到b的欢迎。所以我们要找出度为0的点,找到后该点中点的个数就是答案。 注意:出度为0的点只能有一个,如果有多个出度为0的点,那么

  • 洛谷 P1083借教室题解--zhengjun2022-06-10 20:40:26

    题面传送门 思路 一看嘛,立刻想到了线段树,然后呢,又不想打,感觉太长,于是呢,因为如果从第\(i\)个订单开始出问题,那么\(i+1\)以及以后的都会出问题,所以就可以二分,然后二分呢,重要的是\(check\)。 我们就要看看前面这么多订单每天的加在一起够不够,所以是区间修改,然后,就要\(O(n)\)枚举每一

  • 洛谷 P1083借教室题解--zhengjun2022-06-10 20:40:23

    题面传送门 思路 一看嘛,立刻想到了线段树,然后呢,又不想打,感觉太长,于是呢,因为如果从第\(i\)个订单开始出问题,那么\(i+1\)以及以后的都会出问题,所以就可以二分,然后二分呢,重要的是\(check\)。 我们就要看看前面这么多订单每天的加在一起够不够,所以是区间修改,然后,就要\(O(n)\)枚举每一

  • 洛谷 P1084疫情控制题解--zhengjun2022-06-10 20:34:33

    题面传送门 我去我TM没有去掉freopen调了一下午\(\cdots\) 思路 因为如果第\(i\)分钟可以控制住疫情,那么第\(i+1\)以及之后的都是可以的,所以,就可以二分了。 然后就是\(check\)函数如何写,有一个显而易见,就是每一个军队都要尽量靠近根节点,这样才会拦掉更多的点,所以,就要把每个军队向

  • 洛谷 P1071潜伏者题解--zhengjun2022-06-10 20:07:34

    题面传送门 思路 一看就是一道模拟。 注意一下细节就可以了。 代码 #include<bits/stdc++.h> using namespace std; string a,b,c; int x[26],y[26];//分别从两边映射 int main(){ cin>>a>>b>>c; memset(x,-1,sizeof(x)); memset(y,-1,sizeof(y)); for(int i=0;i<a.length();i

  • 洛谷 P1072 Hankson的趣味题题解--zhengjun2022-06-10 20:05:46

    题面传送门 吐槽一句,这么水的题目能搞成蓝色??? 好了,进入正题: 思路 首先,列出式子: \[\left\{ \begin{aligned} \gcd(x,a_0)=a_1\\ lcm(x,b_0)=b_1 \end{aligned} \right. \]那么,先来看第一个式子: \(\gcd(x,a_0)=a_1\),设\(k_0=x\div a_1,k_1=a_0\div a_1\) 可以很快得出,\(\gcd(k_0,k_1)

  • 洛谷 P1072 Hankson的趣味题题解--zhengjun2022-06-10 20:05:44

    题面传送门 吐槽一句,这么水的题目能搞成蓝色??? 好了,进入正题: 思路 首先,列出式子: \[\left\{ \begin{aligned} \gcd(x,a_0)=a_1\\ lcm(x,b_0)=b_1 \end{aligned} \right. \]那么,先来看第一个式子: \(\gcd(x,a_0)=a_1\),设\(k_0=x\div a_1,k_1=a_0\div a_1\) 可以很快得出,\(\gcd(k_0,k_1)

  • 洛谷 P1073最优贸易题解--zhengjun2022-06-10 20:04:47

    题面传送门 思路 一看到这道题,立刻想到\(SPFA\),结果一个单向的东西交上去,\(T\)了一个点。 然后,单向\(SPFA\)的搜索面积要远大于从两头开始找,于是,我就改变了思路,分别从两端开始找,分别找出到每个点的最小值和最大值,这样,每一个点一减取个最大值就完事了。 代码 #include<bits/stdc++.

  • 洛谷 P1075质因数分解题解--zhengjun2022-06-10 20:02:39

    题面传送门 思路 不就一道模拟吗,于是我就从\(n\)开始找,结果\(T\)了,然后,就想到了从小到大找,找到了就输出\(n\div i\),结果就\(A\)了 代码 #include<bits/stdc++.h> using namespace std; int n; int main(){ cin>>n; for(int i=2;i*i<=n;i++) if(n%i==0){ cout<<n/i; brea

  • 洛谷 P1074靶形数独题解--zhengjun2022-06-10 20:01:54

    题面传送门 思路 一看就是一道搜索的好题目。 说道搜索,就想到了剪枝优化,然后,可以想到一个很简单的剪枝,就是先选所在的行、列、宫已知的数字最多的格子,这样有点麻烦,我就直接看看行就完事了。 然后,然后就是一个搜索了。 代码 #include<bits/stdc++.h> #define max(x,y) ((x)>(y)?(x)

  • 洛谷 P1076寻宝题解--zhengjun2022-06-10 20:01:10

    题面传送门 思路 首先,一看就是一道模拟,然后这个是暴力代码(50分) #include<bits/stdc++.h> using namespace std; int n,m,x; int a[10001][101],b[10001][101],c[10001]; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) for(int j=0;j<m;j++) scanf(&q

  • 洛谷 P1077摆花题解--zhengjun2022-06-10 20:00:40

    题面传送门 思路 一看就是一道\(dp\) 用\(f_{i,j}\)表示摆到第\(i\)种花,已经摆了\(j\)盆花所有的可能性; 初始化:\(f_{0,0}=1\) 状态转移公式: \(f_{i,j}=\sum\limits_{k=1}^{min(a_i,j)}f_{i-1,j-k}\) 这里就直接用滚动数组了。 代码 #include<bits/stdc++.h> #define mod 1000007 u

  • 洛谷 P1056排座椅题解--zhengjun2022-06-10 19:38:02

    题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的 \(D\) 对同学上课时会交头接耳。 同学们在教室中坐成了 \(M\) 行 \(N\) 列,坐在第 \(i\) 行第 \(j\) 列的

  • 洛谷 P1055ISBN号码题解--zhengjun2022-06-10 19:37:31

    题目描述 每一本正式出版的图书都有一个\(ISBN\)号码与之对应,\(ISBN\)码包括\(9\)位数字、\(1\)位识别码和\(3\)位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的\(ISBN\)码。\(ISBN\)码的首位数字表示书籍的出

  • 洛谷 P1057传球游戏题解--zhengjun2022-06-10 19:36:07

    题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:\(n\)个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球

  • 洛谷 P1059明明的随机数题解--zhengjun2022-06-10 19:35:13

    题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了\(N\)个\(1\)到\(1000\)之间的随机整数\((N≤100)\),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学

  • 洛谷 P1058立体图题解--zhengjun2022-06-10 19:34:49

    题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容。最近,他准备给小朋友们讲解立体图,请你帮他画出立体图。 小渊有一块面积为\(m \times n\)的矩形区域,上面有\(m \times n\)个边长为\(1\)的格子,每个格子上堆了一些同样大小的积木(积木的长宽高都是\(1\)),

  • 洛谷 P1067多项式的输出题解--zhengjun2022-06-10 19:34:41

    题目描述 一元\(n\)次多项式可用如下的表达式表示: \(f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots +a_1x+a_0,a_n\ne0\) 其中,\(a_ix^i\)称为\(i\)次项,\(a_i\) 称为\(i\)次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 多项式中自变量为 \(x\),从左到

  • 洛谷 P1068分数线划定题解--zhengjun2022-06-10 19:34:02

    题面传送门 我以后再也不赋值题面了,直接链接。 思路 不就一道模拟题吗? 想当年,我还不知道洛谷是个啥,还不会用\(sort\),更不知道有结构体这个东西,只会打擂台\(n^2\)排序,\(cin,cout\)连\(scanf,printf\)都不会的蒟蒟蒟蒟蒟蒻,就做了这道题,哎 代码 #include<bits/stdc++.h> using namesp

  • 洛谷 P1069细胞分裂题解--zhengjun2022-06-10 19:33:31

    题面传送门 思路 一看,不就是一个分解质因数吗? 这里使用欧拉筛筛素数,如果不会,可以用埃氏筛,反正代码都差不多。 进入正题。 以第二个样例为例: 2 24 1 30 12 先处理出素数表\(prime\)。(我喜欢欧拉筛) 然后分解质因数,用\(a_i\)表示第\(i\)个素数有几个。(主要是省空间) 然后分解出来

  • 洛谷 P1061Jam的计数法题解--zhengjun2022-06-10 19:33:24

    题目描述 \(Jam\)是个喜欢标新立异的科学怪人。他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩。 在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字母按原先的顺序,排在前面的字母小于排在它后面的字母。我们把这样的“数字”称

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有