摘要: 题意:给定长度为n的方块,要求染色,需要满足:当|j-i|>1且n%|j-i|==0时,两格颜色相同,求做多可以染多少种颜色 题解:求出n的所有质因子 1、若只有一种质因子,则答案为该质因子 2、若有两种以上的质因子,则答案为1 只有一种质因子时,相当于每隔若干个放同种颜色,则可以放p种颜色 有两种 阅读全文
posted @ 2019-11-20 22:01 worcher 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 题意:给定两个字符串,问是否存在交换方案使得两个字符串相同,方案为交换次数小于等于2n,且每次只交换s1与s2中的一个字符 题解:考虑从前往后枚举,当第i位不同时,考虑找后边的第j位,若存在这样的第j位,则存在方案 1、存在aj==ai且j>i,那么交换aj,bi 2、存在bj==ai且j>i,那么 阅读全文
posted @ 2019-11-20 21:56 worcher 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 题意:给你两个字符串,问是否存在交换方案使得两个字符串变成一样的,方案为只交换一次且只交换s1与s2里的一个字符 题解:若一开始就相同,则存在交换方案 若一开始不同的位置为1个或大于2个,则不存在方案 若一开始不同的位置为2个,则看ai==aj 或 bi==bj,只要满足其中一个就存在方案,否则不存 阅读全文
posted @ 2019-11-20 21:52 worcher 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n个长度为ai的木板,求最大能拼成的矩形为多大 题解:显然贪心每次选最大的进去拼,那么剧需要枚举矩形长度x,看最长的k个能够拼出长度为x的矩形即可 #include<iostream> #include<cstdio> #include<cstdlib> #include<algorith 阅读全文
posted @ 2019-11-20 21:39 worcher 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题意:给定n个数,让你给出一个数,使得n个数与给出的数异或后得到的数的二进制表示中1的数量相同 题解:考虑暴搜2^30去找答案,显然不可接受 显然可以发现,这是一个经典的meet in the middle模型,直接套用然后hash一下即可 设前15位异或完之后1的个数为ai,那么差分一下得 a1 阅读全文
posted @ 2019-11-18 11:01 worcher 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 题意:给定三个序列abc,问最少操作几次使得满足a<b<c 题解:将三个序列合并起来,设cnt[i][1/2/3]表示前i个数有几个是来自序列1/2/3的。 枚举第一个序列要到i,此时对于第一个序列的操作次数就是cnt[i][2]+cnt[i][3]+cnt[n][1]-cnt[i][1] 对于第二 阅读全文
posted @ 2019-11-15 11:20 worcher 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一些怪物,每天可以选一个勇士进去打怪,每个勇士每天只能打不超过si个怪物,每个勇士只能打能力值≤pi的怪物,问最少多少天打完所有怪物 题解:贪心,每天尽可能多的去打怪,那么存一个对于长度为i的怪物可以用的最大的能力值是多少,每天枚举长度,尽可能长的去打怪即可 代码: #include<io 阅读全文
posted @ 2019-11-15 11:12 worcher 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个数组,求最小的字数组使得数组里存在至少一对重复元素 题解:每个点求出他的后继在哪,然后每次贪心就这个点到他的后继为一个子数组,求出最小的就是答案 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring 阅读全文
posted @ 2019-11-15 11:09 worcher 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 题意:每次可以对a进行两种操作,1:如果是偶数,则变成3*a/2;2:变成a-1 显然当a=1时,b只能为1 a=2或3时,b只能为123 a>3时,b可以为任意数 代码: #include<iostream> #include<cstdio> #include<cstdlib> #define l 阅读全文
posted @ 2019-11-15 11:06 worcher 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n个人和两个尖子生a,b,你可以操作k次,每次操作交换相邻两个人的位置,求问操作k次以内使得ab两人距离最远是多少 题解:贪心尽可能的将两人往两边移动,总结一下就是min(n-1,|a-b|+x) 代码: #include<iostream> #include<cstdio> #inclu 阅读全文
posted @ 2019-11-15 11:02 worcher 阅读(197) 评论(0) 推荐(0) 编辑