自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

算法小猪的博客

如果这世上有奇迹,那只是努力的另一个名字

  • 博客(136)
  • 收藏
  • 关注

原创 竞赛【SYZOJ】

题目描述虚拟世界的信息学奥赛更改了赛制,具体赛制如下:两人为对手简称A和B,每人抽有n张卡,卡上有一个数字每人从自己的卡池里抽一张卡,点数大的人获胜这个赛程将重复K次,每次A和B都会重新获得卡池现在虚拟CCF让你来制作评测程序,需要你来输出谁获胜的概率更大。输入第一行是比赛次数K。接下来每组三行,第一行为n,第二行为A的卡池,第三行为B的卡池。输出对于每个比赛,如果A胜率高,则输出"A"。如果B胜率高,则输出"B"。如果胜率相同,则输出"Together"。样例输入263 3 3

2021-07-14 23:19:46 600

原创 单调队列【总结】

一、基本概念单调队列是指:单调递增或单调递减的队列。所以它也有如下几个性质:1.队列中的元素在原来的列表中的位置是由前往后的(随着循环顺序入队)。2.队列中元素的大小是单调递增或递减的。3.从队尾入列,队首或队尾出列时间复杂度:O(N)二、例题1.最大子序和(dp+单调队列优化)题目描述输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得整个序列的和最大。例如 1,-3,5,1,-2,3当m=4时,S=5+1-2+3=7当m=2或m=3时,S=5+1=6输入第一行两

2021-07-12 22:42:49 1711 2

原创 自驾游【优先队列】【贪心】

题目描述小明决定自己开车去旅游。假设你离景点L单位距离,一开始,你车子的油箱里有P单位的汽油,车每开一单位的距离就需要消耗一单位的汽油。如果在途中车上的汽油耗尽,车就无法继续前行,因而无法到达想去的景点了。旅途中,一共有N个加油站,每个加油站都可以给车加一定量的汽油。假设车的油箱的容量是无限大的,无论加多少汽油都没有问题,那么请问你是否能到达想去的景点?如果可以,最少需要加多少次油?如果可以到达终点,输出最少的加油次数,否则输出-1。输入输入文件为“travel.in”第一行一个正整数N,表示路

2021-07-07 22:59:38 572

原创 【模板】高精度

一、高精度加法// C = A + B, A >= 0, B >= 0vector<int> add(vector<int> &A, vector<int> &B){ if (A.size() < B.size()) return add(B, A); vector<int> C; int t = 0; for (int i = 0; i < A.size(); i ++ )

2021-06-05 22:08:11 100

原创 平板涂色【dfs】

题目描述CE 数码公司开发了一种名为自动涂色机(APM)的产品。它能用预定的颜色给一块由不同尺寸且互不覆盖的矩形构成的平板涂色。为了涂色,APM 需要使用一组刷子。每个刷子蘸了颜色 CC 。APM 拿起一把蘸有颜色 CC 的刷子,并给所有颜色为 CC 的矩形涂色。请注意,涂色有顺序要求:为了避免颜料渗漏使颜色混合,一个矩形只能在所有紧靠它上方的矩形涂色后,才能涂色。例如图中矩形 FF 必须在 CC 和 DD 涂色后才能涂色。注意,每一个矩形必须立刻涂满,不能只涂一部分。写一个程序求一个使 APM 拿起

2021-05-15 21:20:40 542

原创 优秀的拆分(power)【2020csp-j】

题目描述一般来说,一个正整数可以拆分成若干个正整数的和。例如 1=1,10=1+2+3+4 等。对于正整数n的一种特定拆分,我们称它为 “优秀的 ”,当且仅当在这种拆分下,n被分解为了若干个 不同 的 2 的 正整数 次幂。注意, 一个数 x 能被表示成 2 的正整数次幂,当且仅当 x 能通过 正整数 个 2 相乘在一起得到。例如,10=8+2=23+21 是一个优秀的拆分。但是, ,7=4+2+1=22+21+20 就不是一个优秀的拆分,因为 1 不是 2 的正整数次幂。现在,给定 正整数n,你需

2021-04-10 21:19:20 2492

原创 最小差值生成树【变种最小生成树】

题目描述CodeWaySky很早就学了最小生成树,所以CodeWaySky现在对简单的求最小生成树不感兴趣了。现在CodeWaySky想知道,对于一个给定的图,它的所有生成树中,最大边和最小边的边权差最小是多少。因为CodeWaySky这个技术人员实在太忙了,到处帮大家解决问题,无法脱身,所以这个问题就交给你来解决了。输入第一行,两个用空格隔开的整数 N 和 M,分别表示顶点数和边数。下面 M 行,每行 3 个数 u,v,w,表示 u 和 v 之间有一条权值为 w 的无向边。输出一行,一个非负

2021-04-03 20:59:07 770

原创 石子游戏大合集[博弈论]

题目描述(取石子游戏1)有一种有趣的游戏,玩法如下:玩家:2人;道具:N颗石子;规则:游戏双方轮流取石子;每人每次取走若干颗石子(最少取 1颗,最多取 K 颗);石子取光,则游戏结束;最后取石子的一方为胜。假如参与游戏的玩家都非常聪明,问最后谁会获胜?输入输入仅一行,两个整数 N 和 K。输出输出仅一行,一个整数,若先手获胜输出 1,后手获胜输出 2。样例输入23 3样例输出1题解:判断一下石子数是不是最大可取石子数加1的倍数就行了。因为只要是倍数关系,只要后手使石子数

2021-03-13 22:27:48 6047

原创 前、中、后缀表达式【初赛】

文章目录一、前缀表达式二、中缀表达式三、后缀表达式一、前缀表达式计算方法:设两个栈,分别为数字栈和符号栈每遇到一个符号,将其压栈,遇到一个数字,也压栈.如果发现数字栈中有数字,将数字栈首弹出,字符栈首弹出,和新的数运算。运算结果压入数字栈。举个栗子:+3×2+5 121.将+压入符号栈,符号栈首为+.将3压入数字栈,数字栈首为:32.将×压入符号栈,符号栈首为×。将2压入数字栈,此时3和2要进行运算:3×2=6,将6压入数字栈首3.+号压入符号栈,符号栈首为+。将5压入数字栈,此时6(3×

2020-08-18 10:54:09 233

原创 翻转棋 dfs+模拟

题目描述农夫约翰知道,聪明的奶牛可以产更多的牛奶。他为奶牛设计了一种智力游戏,名叫翻转棋。翻转棋可以分成M × N (1 ≤ M, N ≤ 15)个格子,每个格子有两种颜色,一面是黑的,一面是白的。一旦翻转某个格子,这个格子的颜色就会颠倒。如果把所有的格子都翻成白的,就算奶牛赢了。然而,奶牛的蹄子很大,一旦它们打算翻转某个格子,这个格子附近(即和这个格子有公共边)的格子也会被翻转。一直翻来翻去也很无聊,奶牛们想最小化必须翻动的次数。请帮助奶牛确定翻动的最少次数和具体的翻法。如果最小解有多个,则输出在字

2020-08-15 22:24:07 494

原创 树链剖分详解

目录一、树链剖分相关概念1.为啥要剖分2.轻边和重边3.轻重边路径剖分的性质二、树链剖分的实现1.重链剖分一、树链剖分相关概念1.为啥要剖分1.可以维护树路径上的信息(维护)2.将一棵树划分成若干条链,用数据结构去维护每条链,复杂度为O(logN)O(logN)O(logN)。(复杂度低)2.轻边和重边将树中的边分为:轻边和重(zhong)边定义size(x)size(x)size(x)为以xxx为根的子树的节点个数。令vvv为xxx的儿子节点中sizesizesize值最大的节点,那么边(

2020-08-13 23:01:23 1257 1

原创 Yougth的最大化【二分】【贪心】

题目描述Yougth现在有n个物品的重量和价值分别是Wi和Vi,你能帮他从中选出k个物品使得单位重量的价值最大吗?输入有多组测试数据每组测试数据第一行有两个数n和k,接下来一行有n个数Wi和Vi。(1<=k=n<=10000) (1<=Wi,Vi<=1000000)输出输出使得单位价值的最大值。(保留两位小数)样例输入3 22 23 22 1样例输出0.80题解:二分+贪心二分v[i]/w[i]v[i]/w[i]v[i]/w[i]的平均值(记为xxx

2020-08-12 21:37:59 227

原创 教主的花园 动态规划

教主的花园(garden.pas/c/cpp)教主有着一个环形的花园,他想在花园周围均匀地种上n棵树,但是教主花园的土壤很特别,每个位置适合种的树都不一样,一些树可能会因为不适合这个位置的土壤而损失观赏价值。教主最喜欢3种树,这3种树的高度分别为10,20,30。教主希望这一圈树种得有层次感,所以任何一个位置的树要比它相邻的两棵树的高度都高或者都低,并且在此条件下,教主想要你设计出一套方案,使得观赏价值之和最高。输入格式输入的第1行为一个正整数n,表示需要种的树的棵树。接下来n行,每行3个不超过1

2020-08-08 21:49:07 504

原创 寻找独一无二的数 【异或】

题目描述现给你一组数,要求你找出其中只出现过一次的那个数。题目保证只有一个数字出现过一次,并且除了只出现一次的那个数字外,其余的数字均出现了偶数次。输入输入包含多组测试样例。每组样例第一行为一个正整数n(1<=n<=1000000,并且n为奇数),表示数字的个数。接下来的一行为n个正整数,所有的数都小于2^31。当n=0时,输入结束。输出输出只出现过一次的那个数字,每组结果占一行。样例输入51 1 3 2 231 2 10样例输出32.

2020-07-30 21:19:27 722

原创 炫耀手机

2128: 炫耀手机题目描述小F终于买到了心仪的手机,当然是华为的新款啦。小F有5个好朋友,她把新买的手机拿给朋友们看。手机就在她们手中传递了。小F先把手机给某个朋友,每个朋友欣赏完手机后就把手机传给另外一个人欣赏。当然已经看过手机的人还可以继续接过来欣赏。结果经过n次传递后,手机又回到小F手中(中间过程手机也可能回到过小F手中)。你能知道传递的过程中有多少种传递方式吗?输入多组测...

2020-07-30 21:19:13 1137

转载 2.4.4 Bessie Come Home (comehome) USACO(最短路)

题目描述2.4.4 Bessie Come Home (comehome)(comehome.pas/c/cpp) 现在是晚餐时间,而母牛们在外面分散的牧场中。 农民约翰按响了电铃,所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一只最快的母牛)。 在挤奶的时候(晚餐前),每只母牛都在她自己的牧场上,一些牧场上可能没有母牛。 每个牧场...

2020-07-30 21:18:57 498

原创 数组中插入一个数

数组中插入一个数题目描述给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序输入多组测试,每组第一行输入一个整数n,然后是n个有序的整数 第二行输入1个整数m和1个整数K输出将整数m插入到原数组中保持顺序是升序,然后输出2行 第一行是插入以后的数组 第二行是插入以后的数组中下标值是K的数 n m k不超过20样例输入3 1 2 53 1...

2020-07-29 21:26:57 7685

原创 1484: order 几何数学

题目描述小军正在一块无穷大的网格地面上玩耍,他站在A 位置小军准备了n 个指令a[i]对于每个指令, 小军都会执行如下操作1:往当前方向移动a[i] 的距离2:往右转90 度,重复a[i] 次小军决定执行这n 个指令T 次,假设执行完后停留在了B 位置,请问A 与B 的曼哈顿距离是多少输入第一行输入两个整数n, T第二行输入n 个整数ai1 <= T <= 1...

2020-07-29 21:26:47 558

原创 Knight Moves

题目描述原题来自:POJ 1915编写一个程序,计算一个骑士从棋盘上的一个格子到另一个格子所需的最小步数。骑士一步可以移动到的位置由下图给出。输入第一行给出骑士的数量n。在接下来的3n行中,每3行描述了一个骑士。其中,第一行一个整数L表示棋盘的大小,整个棋盘大小为L×L; 第二行和第三行分别包含一对整数(x,y),表示骑士的起始点和终点。假设对于每一个骑士,起...

2020-07-29 21:26:36 4792

原创 【深基15.习9】验证栈序列 洛谷P4387

题目描述给出两个序列 pushed 和 poped 两个序列,其取值从 1 到n(n≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出Yes,否则输出No。为了防止骗分,每个测试点有多组数据。输入格式第一行一个整数q,询问次数。接下来q 个询问,对于每个询问:第一行一个整数n表示序列长度;第二行n个整数表示入栈序列;...

2020-07-29 21:26:13 1312 1

原创 i++和++i的区别

写在前面记得一次写题时将++i写成了i++,怎么也调试不对QAQ,事后也不明白,现在水发一篇总结( ̄y▽, ̄)╭一、赋值顺序i++在运行时是这样执行的:先赋值,再自加用代码表示为a = i++; ------------> a = i; i = i + 1;++i在运行时是这样执行的:先自加,再赋值用代码表示为:a = ++i ...

2020-07-29 21:25:46 1571

原创 纪念品-2019CSP-J

纪念品题目描述小伟突然获得一种超能力,他知道未来 T 天 N 种纪念品每天的价格。某个纪念品 的价格是指购买一个该纪念品所需的金币数量,以及卖出一个该纪念品换回的金币数量。每天,小伟可以进行以下两种交易无限次:任选一个纪念品,若手上有足够金币,以当日价格购买该纪念品; 卖出持有的任意一个纪念品,以当日价格换回金币。每天卖出纪念品换回的金币可以立即用于购买纪念品,当日购买的纪...

2020-07-29 21:24:35 1271

原创 堆结构【总结】

一、堆的定义堆结构是一种数组对象,它可以被视为一棵完全二叉树,如下图:二、堆的性质设数组A的长度为len,二叉树的结点个数为size,size≤len,则A[i]存储二叉树中编号为i的结点值(1≤i≤size),而A[size]以后的元素并不属于相应的堆,树的根为A[1],并且利用完全二叉树的性质,我们很容易求第i个结点的父结点、左孩子结点、右孩子结点的下标了,分别为:i/2、2...

2020-07-29 21:24:22 6466

原创 异或的性质、用途、习题

写在前面异或概念用在这里不提及了,若不懂的话可自行了解一、异或的性质异或是一种基于二进制的位运算,用 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。简单理解就是不进位加法,如1+1=0,,0+0=0,1+0=1。(这点很重要)性质交换律 可任意交换运算因子的位置,结果不变 2、结合律(即(a^b)^c == a^(b^c)) 3、对于任何数...

2020-07-29 21:23:56 3832

原创 素数的最短距离 【模拟】

题目描述输入一个数,输出离它最近的素数.如果该数本身是素数,则输出其本身;若有两个距离相等,则输出小于它的那个素数。输入测试数据有N(N<=1000)组,接下来为N行,每行包括一个整数M(0<M<=1000)。输出输出有N行,每行为离对应M最近的一个素数。输出结果的范围与M的取值范围相同样例输入Copy2225样例输出Copy235解题思路使用算法:模拟算法算法步骤:1.枚举n-i(s)和n+i(t) ps...

2020-07-29 21:23:32 708

原创 学姐的桌面 【模拟】

学姐的桌面时间限制 :1.000sec内存限制 :128 MB题目描述学姐在加入集训队之后,学习了使用ubuntu系统来做题,但是没有了360电脑管家,学姐再也没办法看到她的飞速电脑开机到底虐了全国多少人。作为一个电脑高手,学姐花了几分钟黑到了360的数据库拿到了全国360用户的开机时间,现在学姐想自己算算到底打败了百分之多少的人?输入输入有多组数据。首先给出数据组数T(T≤10),下面T组数据,每组开头为n(1≤n≤100000),360的用户数,和t,学姐的开机时间分值,接...

2020-07-29 21:23:15 342 1

原创 博弈论之SG函数

引子在许多地方曾经流行这样一个小游戏:摆出N堆硬币,第i堆硬币有Ai个。两名玩家轮流行动,每次可以任选一堆,从中取走最后一件物品者获胜。两人都采用最优策略,问先手能否必胜。问题归纳这种游戏:NIM博弈游戏中的状态:局面整局游戏第一个行动的:先手整局游戏第二个行动的:后手某一局面下采取任何行动都会输:必败若在某一局面下存在某种行动,使对手面临必败,则优先采取该行动:最优策略。同时,这样的局面被称为必胜定理NIM博弈先手必胜,当且仅当A1 xor A2 xor … xor An !=0证明

2020-07-29 21:23:07 333

原创 牛客IOI周赛16-普及组-解题报告

问题A-求导牛牛今天题目描述学习了求导,对函数f(x) 求导记作 f(x)'输入描述:给出一个数 n输出描述:输出求 x^n 求 n - 1 次导后 x 前的系数。(答案对109+710^9+7109+7 取余)输入5输出120备注:对于 %50 的数据满足 n≤15对于 %100 的数据满足 n≤10^5...

2020-07-29 21:22:34 324

原创 流感会结束吗 【图论+模拟】

题目描述 信奥班中一共有 n 个学生。这 n 个学生里一共有 m 对朋友关系。在流感发作期,每个健康学生都要看望当天他生病的朋友(如果有的话),并在第二天被传染上疾病(除非他在免疫期内);每个生病的学生在第二天都会痊愈,并在这一天具有免疫性。从第三天起,看望生病的朋友将再次使他染上流感。初始时(第一天),只有一个学生患有流感。试问多少天后流感会自动结束。输入第一行输入两个正整数 n 和 m。接下来 m 行每行两个正整数 x,y,表示编号为 x 的学生和编号为 y 的学生是一对朋友。...

2020-07-29 21:21:50 703

原创 信奥队过河【dp+前缀和优化】

题目描述叶老师带着他的N(1 <= N <= 2,500)个学生去参加省赛,他们要过一条河,但他们所有的渡河工具,仅仅是一个木筏。由于学生不会划船,在整个渡河过程中,叶老师必须始终在木筏上。在这个基础上,木筏上的学生数目每增加1,叶老师把木筏划到对岸就得花更多的时间。当叶老师一个人坐在木筏上,他把木筏划到对岸需要M(1 <= M <= 1000)分钟。当木筏搭载的学生数目从i-1增加到i时,叶老师得多花M_i(1 <= M_i <= 1000)分钟才能把木筏划过河(

2020-07-29 21:21:39 338

原创 士兵杀敌(二)【线段树】

题目描述南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。输入只有一组测试数据第一行是两个整数N,M,其中N表示士兵的个数(1<N<1000000),M表示指令的条数。(1<M<100000)随后的一行是N个整数,ai表示第i号士兵杀敌数目。(0<=ai<=

2020-07-29 21:21:27 377 1

原创 羊羊智力运动会

题目描述羊历3131年,青青草原上,羊羊族群十分繁荣昌盛,羊羊们在这里幸福地生活着。直到灰太狼带着妻子红太狼搬到对岸的森林,羊羊们才真正在现实中见到书上记载的狼。 灰太狼每天想尽办法要跨越铁栅栏抓羊,但他没想到的是,他的对手是全羊族里最聪明的喜羊羊,而且喜羊羊的背后还有智慧超群、又擅长发明的村长慢羊羊;大智若愚,馋嘴爱睡的懒羊羊;力大无比,勇敢无畏的沸羊羊;心地善良、气质非凡的美羊羊;以及温柔可爱,做事负责的暖羊羊。 善良勇敢的小羊们,凭借着智慧和勇气,一次次识破灰太狼的阴谋诡计。为了更好地对付狼族,羊

2020-07-29 21:21:19 386

原创 珠心算测验 【暴力】

题目描述灰太狼上次吃亏后去了狼族带了很多狼来羊村挑战。喜羊羊决定跟狼族来一次挑战赛,以赢取羊村的安全。为了保证胜利,喜羊羊希望自己队伍里的人至少有2种以上技能。每个羊生下来就会有一种技能,而且不会消失,这种技能我们用一个数来表示,每个羊的数字会各不相同。但喜羊羊不知道哪个数是有技能的。不过如果一只羊他的数正好是另外2个羊的数的和的话,他就掌握这2个羊的技能(如果某个羊的技术数是其他三个羊的数的和,未必掌握这3个羊的技能,更多羊同理)。现在喜羊羊知道这些羊的技能数,你能知道他可以带多少队伍去参加挑战赛?

2020-07-29 21:21:05 300

原创 算法竞赛进阶指南——兔子与兔子【哈希】

题目描述很久很久以前,森林里住着一群兔子。有一天,兔子们想要研究自己的 DNA 序列。我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DNA 序列可能包含 26 个小写英文字母),然后我们每次选择两个区间,询问如果用两个区间里的 DNA 序列分别生产出来两只兔子,这两个兔子是否一模一样。注意两个兔子一模一样只可能是他们的 DNA 序列一模一样。输入第一行一个 DNA 字符串 S。接下来一个数字 m,表示 m 次询问。接下来 m 行,每行四个数字 l1, r1, l2, r2,分别表示此

2020-07-29 21:20:55 309

原创 切开蛋糕【dp+贪心】

题目描述出于某些方面的需求,懒羊羊要把一块N×M的蛋糕切成一个个1×1的小蛋糕。对于一块蛋糕,我们只能从某条横线或者某条竖线(要在方格线上),而且这蛋糕是不均匀的,从不同的线切割下去要花不同的代价。而且,对于一块蛋糕,切割一次以后就被分割成两块,而且不能把这两块蛋糕拼在一起然后一刀切成四块,只能两块分别再进行一次切割。现在,给出从不同的线切割所要花的代价,求把整块蛋糕分割成1×1块小方块所需要耗费的最小代价。输入输入文件第一行包括N和M,表示长N宽M的矩阵。第二行包括N-1个非负整数,分别表示沿

2020-07-29 21:20:37 813

原创 树与图的遍历【总结】

铺垫树与图最常见的存储方式就是邻接表。树可以看作是具有N−1N-1N−1条边的无向图,他们的边都存储在一个邻接表中,邻接表以headheadhead数组为表头,使用ververver和edgeedgeedge数组分别存储边的终点和权值,使用nextnextnext数组模拟链表中的指针。树与图的深度优先遍历深度优先遍历,就是就是在某一个节点xxx有多条分支时,任选一条边走下去,进行递归,直到回溯到xxx,再考虑走另一条边,根据上面提到的存储方式,我们可以采用下面的代码,调用dfs(1)dfs(1)dfs

2020-07-29 21:20:26 850

原创 懒羊羊求援【优先队列】

题目描述狼族来进攻羊村了。喜羊羊开始布置防御。但为了更好地抵制住进攻,他们需要一个人去其他羊村求援。这个光荣而艰巨的任务就交给了懒羊羊。路途好遥远,懒羊羊必须吃足够的草才能跑。他吃一两草能跑一公里路。但饿了就跑不动了。不过懒羊羊肚子大着,有多少青草他都能吃。但懒羊羊吃草很花时间,所以希望尽量少吃几次。路上有N个卖草的地方,你帮忙算下懒羊羊吃几次可以到达终点。输入第一行有一个 N ,表示路上有 N 个卖草的地方;(1<=N<=10000)(1<=N<=10000)(1<=N

2020-07-25 22:06:37 299

原创 棋盘【NOIP2017】

棋盘有一个m×mm×mm×m的棋盘,棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在要从棋盘的最左上角走到棋盘的最右下角。任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的), 你只能向上、 下、左、 右四个方向前进。当你从一个格子走向另一个格子时,如果两个格子的颜色相同,那你不需要花费金币;如果不同,则你需要花费 1 个金币。另外, 你可以花费 2个金币施展魔法让下一个无色格子暂时变为你指定的颜色。但这个魔法不能连续使用, 而且这个魔法的持续时间很短,也就是说,如果你使用了这个魔法,走

2020-07-25 21:42:28 1373

原创 搬书【dp】

题目描述有三堆书,分别有i,j,k本,已知每堆书从下到上各本书的重量,每次搬书只能从任意一堆的最上面取,请你设计一个方案,使得花费的力气最大。每次取书体力消耗都会加大,这里用体力系数表示,取第一本书时,体力系数为1 ,第二本时为2,依次类推,而每次体力消耗值为体力系数和书的重量之积。图例最累的取书方式为:31+92+23+104=67【输入格式】第一行为3个数,分别为i,j,k第二行到第四行分别为每堆从下到上每本书的重量【输出格式】输出最累方式的体力消耗总值【输入样例】3 2 42 3

2020-07-24 21:58:07 248

原创 国王【状压dp】

题目描述原题来自:SGU 223在n×nn×nn×n 的棋盘上放 kkk 个国王,国王可攻击相邻的 888个格子,求使它们无法互相攻击的方案总数。输入只有一行,包含两个整数 nnn和 kkk。输出每组数据一行为方案总数,若不能够放置则输出 00。样例输入【样例输入1】3 2【样例输入2】4 4样例输出【样例输出1】16【样例输出2】79数据范围与提示对于全部数据,1≤n≤10,0≤k≤n21≤n≤10,0≤k≤n^21≤n≤10,0≤k≤n2。题解:技巧:一般状压的题

2020-07-24 21:41:15 491

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除