在我看来,简单的并查集算法的问题主要分为几步。 初始化 开始合并 寻找最后有多少个根节点 用一个例题来说明比较容易理解。 例: 描述 有n个人,编号1-n。 现在有一个舞会,在舞会上,大家会相互介绍自己的朋友。 即: 如果a认识b,b认识c。那么在舞会上,a就会通过b认识到c。 现在,给出m
题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 333种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起 见,P老师决定只买同一种包装的铅笔。 商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过nnn支铅笔才够给
输出本机创建20000个目录所用的时间 #! /bin/bash time ( for i in {1..2000} ; do mkdir /tmp/nnn$i done ) 运行记得删除 rm -rf /tmp/nnn*
一道很妙的两次二分 不要问我怎么想到两次二分的 因为万物皆可二分 第一次二分乘积结果 第二次二分b中符合要求的个数 结果为什么就对了我也不知道 而且我盐重怀疑求得的答案不是a和b数组中的数乘起来的结果 代码 #include<bits/stdc++.h> using namespace std; #define i
题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 333种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起 见,P老师决定只买同一种包装的铅笔。 商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过nnn支铅笔才够给小朋
题目描述 给定 nnn 组非负整数 ai,bia_i, b_iai,bi ,求解关于 xxx 的方程组的最小非负整数解。 {x≡b1 (mod a1)x≡b2 (mod a2)...x≡bn (mod an)\begin{cases} x \equiv b_1 ({\rm mod} a_1) \ x\equiv b_2 ({\rm mod} a_2) \ ... \ x \equiv b_n ({\rm mod} a_n)\end{c
Definition 对于一个长度为 nnn 的表,我们可以把这张表看成是由 nnn 个长度为 111 的表组成的集合,然后我们对这些表两两合并——也就是所谓的归并,然后再对归并后得到的长度为原来的两倍(具体情况和 nnn 是偶数还是奇数有关)的新表中的元素进行排序,这样,我们就得到了 n/2n/2n/2
题目描述 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1D1D1、汽车油箱的容量CCC(以升为单位)、每升汽油能行驶的距离D2D2D2、出发点每升汽油价格PPP和沿途油站数NNN(NNN可以为零),油站iii离出发点的距离DiDiDi、每升汽油
题目描述 有 nnn 件工作要分配给 nnn 个人做。第 iii 个人做第 jjj 件工作产生的效益为 cijc_{ij}cij 。试设计一个将 nnn 件工作分配给 nnn 个人做的分配方案,使产生的总效益最大。 输入格式 文件的第 111 行有 111 个正整数 nnn,表示有 nnn 件工作要分配给 nnn 个人做。 接下
题面 Description 从前有 nnn 块石头排成一排,编号从111到nnn。有 nnn 只青蛙站在这 nnn 块石头上,其中编号为 iii 的青蛙站在编号 iii 的石头上。 这 nnn 只青蛙有一个秘密计划,在某个风和日丽的早上,它们同时起跳,编号为 iii 的青蛙跳到编号为 pip_ipi 的石头上。跳跃之后,每
题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数nnn): 先输入一个自然数nnn(n≤1000n \le 1000n≤1000),然后对此自然数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个自然数,但该自然数不能超过原数的一半; 加上数后,继续按此规则进行处理,直到不
图形面积图形面积图形面积 题目链接:ssl 2880 题目 桌面上放了NNN个平行于坐标轴的矩形,这NNN个矩形可能有互相覆盖的部分,求它们组成的图形的面积。 输入 输入第一行为一个数NNN,表示矩形的数量。下面NNN行,每行四个整数,分别表示每个矩形的左下角和右上角的坐标。 输出 输出只
题目描述 设有nnn个正整数(n≤20)(n≤20)(n≤20),将它们联接成一排,组成一个最大的多位整数。 例如:n=3n=3n=3时,333个整数131313,312312312,343343343联接成的最大整数为:343312133433121334331213 又如:n=4n=4n=4时,444个整数777,131313,444,246246246联接成的最大整数为:7424613
目录分治概念简单题经典例题旅行者连续区间Xor最小生成树区间统计二分概念简单题整体二分CDQ分治原理经典例题缺1背包问题缺点最短路问题点分治图论基础术语BFSDijkstra原理扩展Bellman-FordSPFA原理如何卡SPFA判断是否存在负环Floyd差分约束本质应用次短路例题数环最小生成
读写文件坑 缘由 最近在弄一个PHP工具 里面有一个需求 需要读取文件 写入文件 例如文本 nnn#123 ccc#kkj wwwv#1 遇到一个问题 修改ccc的时候 保存的时候修改行粘在一起 例如 nnn#123 ccc#kkjwwwv#1 查了半天 原来是读取的时候把换行符也带上了 总结: 读写文本注意特殊符号 读写文
【思路要点】 首先,当 N,MN,MN,M 均为奇数,且给定的排列按先行后列的方式展开为一维后得到的排列为奇排列,问题无解,这是因为可以进行的任何操作不会改变这个排列的奇偶性。 以下算法对所有不满足上述条件的排列给出了一组可行的构造。 考虑 NNN 与 MMM 之中存在偶数的情况,不
[root@db01 b]#mysqldump -uroot -poldboy123 -A -R --triggers --master-data=2 --single-transaction | gzip > /b/all_date +%F-%H-%M-%S.sql.gz mysql> create table ttt.nnn(id int primary key auto_increment not null, name char(20) not null); mysql> inse
问题描述 有nnn(2≤nnn≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有
题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种。 uim指着墙上的价目表(太低级了没有菜单),说:“随便点”。 题目描述 不过uim由于买了一些辅(e)辅(ro)书,口袋里只剩MMM元(M≤10000)(M \le 10000)(M≤10000)。 餐馆虽低端,但是菜品种类不少,有NNN种(N≤100
嗯... 这道装箱问题其实就是一道典型的动态规划题目(有的DL说它是01背包问题还不太贴切 但无论如何,它肯定 是一道动归题... 众所周知,动归题的难点在于推出动态转移方程.... 好了,在看题之前先说这些,下面先看一下题... 题目描述 有一个箱子容量为VVV(正整数,0≤V≤20000
题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 nnn 张地毯,编号从 111 到nnn。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。 地毯铺设完成后,组
幸运票 有若干个数(最高位可以为000),给你nnn和mmm,每个数有2n2n2n位,且这些票每一位上的数的和为mmm,求有多少种前nnn位的和等于后nnn的和的数 样例输入 2 2 样例输出 4 样例解释 0101 1010 1001 0110 前言 原本我是写了一个排列的,但肯定不会A,只拿了10分 #include<iostream> #inc