01 2020 档案
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1066 转自:https://blog.csdn.net/fengyu0556/article/details/5615129 hdu1066改进的思路和对于大数的处理:(转) 为了把0去掉,我们把所有的因数2和5
阅读全文
摘要:http://codeforces.com/contest/1294/problem/D 大致题意: 刚开始有一个空集合,会往里添加q次数,每次加一个值,而且你可以让这个数任意加减x若干次 每次添加后就查询当前最小的不属于这个集合的非负整数是什么。尽可能让这个最小的不属于这个数列的非负整数最大。 解
阅读全文
摘要:蓝桥杯 矩阵面积交 Description 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。 Input 输入仅包含两行,每行描述一个矩形。在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过1
阅读全文
摘要:CodeForces 1294B Collecting Packages(排序+贪心) http://codeforces.com/contest/1294/problem/B 大致题意: 一张图上有n个包裹,给出他们的坐标,一个机器人从(0,0)出发,只能向右(R)或向上(U),问能否收集到所有包
阅读全文
摘要:题目描述 给定一个多项式(ax+by)^k,请求出多项式展开后x^n*y^m 项的系数。 输入格式: 共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开。 输出格式: 输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。
阅读全文
摘要:题目描述: 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面
阅读全文
摘要:问题描述 蒜头君倒了 2 杯热水在杯子里面,第一杯里面有 a 毫升,第二杯里面有 b 毫升。水太热了,蒜头君决定通过轮流倒水的方式来让水冷下来。 每次倒水蒜头君把第一杯的 x%的水倒入第二杯,把第二杯的 y% 的水倒入第一杯(蒜头君有奇特的方法,能让这一过程是同是发生的,没有先后之分)。 蒜头君一直
阅读全文
摘要:用fib(n)表示斐波那契数列的第n项,现在要求你求fib(n) mod m。fib(1)= 1, fib(2)= 1。 输入格式 输入2个整数n(1≤n≤1018), m(2≤m≤10000000)。 输出格式 输出fib(n)对m取模的值。 样例输入1 4 10 样例输出1 3 样例输入2 10
阅读全文
摘要:声明:该讲解来自计蒜客,仅供个人学习使用 整除与带余数除法 最大公约数 欧几里得算法 int gcd(int a,int b) { return b? gcd(b,a%b):a; } 质数 int is_prime(int n) { for (int i = 2; i * i <= n; ++i)
阅读全文
摘要:问题描述 蒜头君从一个 n 行 m 列的迷宫的左上角走到右下角,蒜头君每次只能向下或者向右走一步,蒜头君想知道他有多少种走法。 输入格式 输入两个整数 n(2≤n≤10^5),m(2≤m≤10^5)。 输出格式 由于方案数太多,输出最后结果对 1000000007 取模的结果。 样例输入 2 3 样
阅读全文
摘要:蒜头君和花椰妹在玩一个游戏,他们在地上将n颗石子排成一排,编号为1到n。开始时,蒜头君随机取出了2颗石子扔掉,假设蒜头君取出的2颗石子的编号为a, b。游戏规则如下,蒜头君和花椰妹2人轮流取子,每次取子,假设某人取出的石子编号为i,那么必须要找到一对j,k满足i= j- k或者i= j+k,且编号为
阅读全文
摘要:现有若干物品,要分成较为平均的两部分,分的规则是这样的: 1)两部分物品的个数最多只能差一个。 2)每部分物品的权值总和必须要尽可能接近。 现在请你编写一个程序,给定现在有的物品的个数以及每个物品的权值,求出按上述规则分成两部分后每部分的权值总和。 输入格式 第一行为一个整数n(1≤n≤200),表
阅读全文
摘要:过年的时候,大人们最喜欢的活动,就是打牌了。蒜头君不会打牌,只好坐在一边看着。 这天,正当一群人打牌打得起劲的时候,突然有人喊道: "这副牌少 了几张!”众人一数,果然是少了。于是这副牌的主人得意地说: "这是一幅特制的牌,我知道整副牌每一张的重量。 只要我们称一下剩下的牌的总重量,就能知道少了哪些
阅读全文
摘要:蒜头君很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。蒜头君没有多少钱,总共只攒了n万元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a (万美元)
阅读全文
摘要:将正整数n示成一系列正整数之和: n= n1 +n2 +... + nk,中n1≥n2≥...≥Nk≥1,k≥1。 正整数n的这种表示称为正整数n的划分。求正整数n的不同划分个数。 例如正整数6有如下11种不同的划分: 6、5+1、4+2、 4+1+1、3+3、 3+2+1、3+1+1+1、2+2+
阅读全文
摘要:电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。 如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上
阅读全文
摘要:晓萌希望将 1 到 N 的连续整数组成的集合划分成两个子集合,且保证每个集合的数字和是相等。 例如,对于 N = 3,对应的集合 1, 2, 3 能被划分成3和1,2两个子集合。 这两个子集合中元素分别的和是相等的。 对于N=3,我们只有一种划分方法,而对于N=7时,我们将有4种划分的方案。 输入格
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/3665/D来源:牛客网 题目描述 Hery is a boy with strong practical abilities. Nowadays,he designed a LaunchPad which is not
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/3665/B来源:牛客网 题目描述 Every problem maker has a flower in their heart out of love for ACM. As a famous problem make
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/3665/E来源:牛客网 题目描述 Morse code is a character encoding scheme used in telecommunication that encodes text charact
阅读全文
摘要:蒜头君酷爱收集萌萌的娃娃。蒜头君收集了 6 种不同的娃娃,第 i 种娃娃的萌值为 i(1≤i≤6)。 现在已知每种娃娃的数量 mi ,蒜头君想知道,能不能把娃娃分成两组,使得每组的娃娃萌值之和相同。 输入格式 输入一行,输入6个整数,代表每种娃娃的数量mi(0≤mi≤20000)。 输出格式 输
阅读全文
摘要:躲藏 链接:https://ac.nowcoder.com/acm/problem/15669来源:牛客网 题目描述 XHRlyb和她的小伙伴Cwbc在玩捉迷藏游戏。 Cwbc藏在多个不区分大小写的字符串中。 好奇的XHRlyb想知道,在每个字符串中Cwbc作为子序列分别出现了多少次。 由于Cwbc
阅读全文
摘要:1 #include <stdio.h> 2 #include <string.h> 3 #include <iostream> 4 #include <string> 5 #include <math.h> 6 #include <algorithm> 7 #include <vector> 8
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/3947/C来源:牛客网 题目描述 Nancy喜欢学习,也喜欢看电视。 为了想了解她能看多长时间的节目,不妨假设节目从时刻1开始,一直播放到时刻6×10100。每个节目持续50个时刻,节目与节目间会有10个时刻的广告时间。
阅读全文
摘要:背包问题 给定一组物品,每种物品都有自己的重量和价值,现有一个背包,能承受的重量有限,在受限制的重量下,取若干物品,使得总价值最大。这一类问题,被称为背包问题。 01背包(物品个数为1) for (int i = 1; i <= N; ++i) { for (int j = 0; j <= V; +
阅读全文
摘要:每个人都有点秘密,蒜头君也不例外,他把秘密记在一个小本上,并且留有备份,不过第一个本的内容被人破坏掉了,跟原来不一定相同了,他现在想要照着第二个本把第一个本的内容还原,每一次做一个操作,一个操作可以是在某位置增加一个字符,删掉某个字符,或者把某个位置的字符改成另一个字符,他想知道他最少需要进行多少次
阅读全文
摘要:蒜头君喜欢把做过的事情记录下来,写在日志里,为了安全起见,它还有一份备份放在另外的地方,不过很不幸的是,最近他的两份日志都受到了破坏,有增加删除修改,但没有改变任何原来的顺序,两份受到的破坏不一定一样,蒜头君记录事情都是按时间顺序的,记录的也都是时间戳,所以正确的记录上时间戳肯定是严格递增的,并且只
阅读全文
摘要:一个字符串如果从左往右读和从右往左读都一样,那么这个字符串是一个回文串。例如:"abcba","abccba"。 蒜头君想通过添加字符把一个非回文字符串变成回文串。例如:"trit",可以添加一个i变成回文串"tirit"。 请你用程序计算出,对于一个给定的字符串,最少需要添加几个字符,才能变成回文
阅读全文
摘要:给定有n个数的A序列:A1,A2,A3⋯An。 对于这个序列,我们想得到一个子序列Ap1,Ap2,Ap3⋯Api⋯Apm(1<=p1<p2<p3…<pi…<pm<=n),满足Ap1>=Ap2>=Ap3>=⋯>=Api<=⋯<=Apm。 从A序列最少删除多少元素,可以得到我们想要的子序列。 输入格式
阅读全文
摘要:题目描述 蒜头君拿到了一个矩阵,他想知道其中的最大非空子矩阵和是多少。 输入格式 第一行输入两个整数 n,m代表这个矩阵的行数和列数。接下来n行,每行m个整数 ai1,ai2,ai3⋯aim。(1≤m,n≤400,−109≤aij≤109) 输出格式 输出一个整数,代表最大非空子矩阵和,占一行。 样
阅读全文
摘要:声明:该讲解来自计蒜客,仅供个人学习使用 -
阅读全文
摘要:在一个夜黑风高的晚上,有n个小朋友在桥的这边,现在他们需要过桥,但是由于桥很窄,每次只允许不超过两人通过,他们只有一个手电筒,所以每次过桥后,需要有人把手电筒带回来,第i号小朋友过桥的时间为ai,两个人过桥的总时间为二者中时间长者。问所有小朋友过桥的总时间最短是多少。 输入格式 第一行输入一个整数n
阅读全文
摘要:蒜头君觉得白色的墙面好单调,他决定给房间的墙面涂上颜色。 他买了 3 种颜料分别是红、黄、蓝,然后把房间的墙壁竖直地划分成 n 个部分,蒜头希望每个相邻的部分颜色不能相同。 他想知道一共有多少种给房间上色的方案。 例如,当 n = 5 时,下面就是一种合法方案。 由于墙壁是一个环形,所以下面这个方案
阅读全文
摘要:一个长度为n的数组a,我们可以把它分成任意组,每一组是一段连续的区间。 比如数组1,2,3,4,5可以分成(1,2),(3,4,5)两个组。每个分组都有一个权值,这个权值就是分组里面每个数的乘积对1000取模的结果。对于数组a的一个分组方案,总权值就是每个分组的权值和。 那么对于数组a,分组以后最大
阅读全文
摘要:一维消消乐是一款非常简单的游戏。有n颗珠子排成一排,每一颗珠子有一个价值w(可能是负数)。 游戏是这样,你可以选择如若干对相邻的珠子,让他们同时消去。每一对珠子的消失,都会使得总分数加上两颗珠子相乘的分数。 注意,每个珠子只能消一次,并且珠子消去以后,还会占位。 输入格式 输入第一行一个整数n(1≤
阅读全文
摘要:蒜头君在玩一款逃生的游戏。在一个n×m 的矩形地图上,蒜头位于其中一个点。地图上每个格子有加血的药剂,和掉血的火焰,药剂的药效不同,火焰的大小也不同,每个格子上有一个数字,如果格子上的数字是正数说明是一个药剂代表增加的生命值,如果是负数说明是火焰代表失去的生命值。 蒜头初始化有 v 点血量,他的血量
阅读全文
摘要:参考自:https://blog.csdn.net/deaidai/article/details/78167367 奇技淫巧 1.技巧一:用于消去x的最后一位的1 x & (x-1) x = 1100 x-1 = 1011 x & (x-1) = 1000 1.1.应用一 用O(1)时间检测整数n
阅读全文
摘要:Description 有一棵 n 个节点的树,树上每个节点都有一个正整数权值。如果一个点被选择了,那么在树上和它相邻的点都不能被选择。求选出的点的权值和最大是多少? Input 接下来的一行包含 n 个正整数,第 i 个正整数代表点 i 的权值。接下来一共 n-1 行,每行描述树上的一条边。 Ou
阅读全文
摘要:一维跳棋(BFS) 一维跳棋是一种在1×(2N+1) 的棋盘上玩的游戏。一共有N个棋子,其中N 个是黑的,N 个是白的。游戏开始前,N 个白棋子被放在一头,N 个黑棋子被放在另一头,中间的格子空着。 在这个游戏里有两种移动方法是允许的:你可以把一个棋子移到与它相邻的空格;你可以把一个棋子跳过一个(仅
阅读全文
摘要:三阶平面魔方(BFS) 有一个 3×3 的平面魔方,在平面魔方中,每个格子里分别无重复地写上 1 - 9 这 9 个数字。一共有 4 种对平面魔方的操作: 选择某一行左移。 选择某一行右移。 选择某一列上移。 选择某一列下移。 初始状态为 123 456 789 比如选择第一行左移,魔方会变成下面这
阅读全文
摘要:分糖果(BFS) 题目描述 童年的我们,将和朋友分享美好的事物作为自己的快乐。这天,C小朋友得到了糖果,将要把这些糖果分给要好的朋友们。已知糖果从一个人传给另一个人需要1秒的时间,同一个小朋友不会重复接受糖果。由于糖果足够多,如果某时刻某小朋友接受了糖果,他会将糖果分成若干份,分给哪些在他身旁且还没
阅读全文
摘要:打水滴(BFS) 在一个n行m列的网格中,某些位置存在一些水滴。嘟嘟进行q次打水滴操作,每次嘟嘟在某一个网格当中添加一个水滴,当某一网格中的水滴数量超过L时,该网格中的水滴变为四个水滴,并分别向上下左右四个方向飞出,每个飞出的水滴如果遇到一个包含水滴的网格时,则该水滴停在该网格当中,如果一直没有遇到
阅读全文
摘要:乳草的侵占(BFS) armer John一直努力让他的草地充满鲜美多汁的而又健康的牧草。可惜天不从人愿,他在植物大战人类中败下阵来。邪恶的乳草已经在他的农场的西北部份占领了一片立足之地。 草地像往常一样,被分割成一个高度为Y(1 <= y <= 100), 宽度尾X(1 <= x <= 100)的
阅读全文
摘要:计蒜客 密码锁(BFS) https://www.jisuanke.com/course/1797/121114 Description 现在一个紧急的任务是打开一个密码锁。密码由四位数字组成,每个数字从 1 到 9 进行编号。每次可以对任何数字加 1 或减 1。当将9加 1 时,数字将变为1,当1
阅读全文
摘要:计蒜客 置换的玩笑(DFS) 传送门 题目大意: 小蒜头又调皮了。这一次,姐姐的实验报告惨遭毒手。 姐姐的实验报告上原本记录着从 1 到 n 的序列,任意两个数字间用空格间隔。但是“坑姐”的蒜头居然把数字间的空格都给删掉了,整个数字序列变成一个长度为 1 到 100 的且首部没有空格的数字串。 现在
阅读全文
摘要:因数最多的数 样例输入 3 10 100 1000 样例输出 6 60 840 题解: 比如24= 23x 3,它的因数个数有(3 + 1)*(1 +1)=8个。 本题我们只要枚举每个质数的次数即可,用DFS来寻找答案。前15个质数之积已经大于1016,所以我们枚举这15个质数就足够了。 注意第i个
阅读全文
摘要:剪枝策略 剪枝,顾名思义,就是通过一些判断,砍掉搜索树上不必要的子树。有时候,我们会发现某个结点对应的子树的状态都不是我们要的结果,那么我们其实没必要对这个分支进行搜索,砍掉这个子树,就是剪枝。 可行性剪枝 给定n个整数,要求选出K个数,使得选出来的K个数的和为sum。 在搜索时,如果已经选了k个数
阅读全文
摘要:计蒜客 引爆炸弹(DFS、并查集) 在一个 n×m 的方格地图上,某些方格上放置着炸弹。手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去。 现在为了引爆地图上的所有炸弹,需要手动引爆其中一些炸弹,为了把危险程度降到最低,请算出最少手动引爆多少
阅读全文
摘要:计蒜客 方程的解数(DFS) 问题描述 输出格式 输出一行,输出一个整数,表示方程的整数解的个数。 样例输入 3 100 1 2 -1 2 1 2 样例输出 104 1 #include <stdio.h> 2 #include <string.h> 3 #include <iostream> 4
阅读全文
摘要:计蒜客 数独(DFS) 蒜头君今天突然开始还念童年了,想回忆回忆童年。他记得自己小时候,有一个很火的游戏叫做数独。便开始来了一局紧张而又刺激的高阶数独。蒜头君做完发现没有正解,不知道对不对? 不知道聪明的你能否给出一个标准答案? 标准数独是由一个给与了提示数字的 9*9 网格组成,我们只需将其空格填
阅读全文
摘要:计蒜客 王子救公主(DFS) 一天,蒜头君梦见自己当上了王子,但是不幸的是,自己的公主被可恶的巫婆抓走了。于是蒜头君动用全国的力量得知,自己的公主被巫婆抓进一个迷宫里面。由于全国只有蒜头君自己可以翻越迷宫外的城墙,蒜头君便自己一人走上的拯救自己公主的路途。 碰巧的是巫婆出去了,迷宫也不大,蒜头君可以
阅读全文
摘要:计蒜客 蒜头君回家(有条件的BFS) 蒜头君要回家,但是他家的钥匙在他的朋友花椰妹手里,他要先从花椰妹手里取得钥匙才能回到家。花椰妹告诉他:“你家的钥匙被我复制了很多个,分别放在不同的地方。” 蒜头君希望能尽快回到家中,他需要首先取得任意一把钥匙,请你帮他计算出回家所需要的最短路程。 蒜头君生活的城
阅读全文
摘要:计蒜客 一维坐标的移动(BFS) 在一个长度为 n 的坐标轴上,蒜头君想从 A 点 移动到 B 点。他的移动规则如下: 向前一步,坐标增加 1。 向后一步,坐标减少 1。 跳跃一步,使得坐标乘 2。 蒜头君不能移动到坐标小于 0 或大于 n 的位置。蒜头想知道从 A 点移动到 B 点的最少步数是多少
阅读全文
摘要:N^2遍历所有得(i,j)然后可以根据(i,j)字符串构造出来第三个T字符串,然后查找一下是否有这个T存在即可,注意最后答案要/3因为会重复出现。 1 #include <stdio.h> 2 #include <string.h> 3 #include <iostream> 4 #include
阅读全文
摘要:计蒜客 网页跳转(多个栈) 题目要求: 蒜头君每天都在用一款名为“蒜厂浏览器”的软件。在这个浏览器中,一共三种操作:打开页面、回退和前进。它们的功能如下: 打开页面:在地址栏中输入网址,并跳转到网址对应的页面; 回退:返回到上一次访问的页面; 前进:返回到上次回退前的页面,如果上一次操作是打开页面,
阅读全文
摘要:日期的计算不管在竞赛还是在实际应用中都是一个比较重要的方面。比较常识的知识就不再赘述了。 闰年是一类比较特殊的年份,闰年比平年(非闰年)在2月份多一天。关于闰年的判断,很多同学还不是很清楚,下面是闰年的详细定义: 年份非整百且能被4整除的为闰年。(如2004年就是闰年,2005年不是闰年) 年份能被
阅读全文
摘要:吉首大学第九届"新星杯"大学生程序设计大赛 Y 老师的乐高小镇 链接:https://ac.nowcoder.com/acm/contest/3667/I来源:牛客网 题目描述 Y 老师从小喜欢用乐高搭建自己喜欢的模型,这不突然有一天 Y 老师想用乐高建造一个神奇的小镇。小镇由无穷所不同的建筑物组成
阅读全文