随笔分类 - 贪心
摘要:地址:http://codeforces.com/contest/1476/problem/B 题意: 从a2开始,每个值的计算方式为:pi=ai/(a0+a1+a2+...+ai-1) 使得每个pi都<=k的最少修改值 解析: 变形一下,ai*100<=k*sum(sum为ai之前的前缀和) 由于
阅读全文
摘要:地址:http://codeforces.com/contest/1457/problem/B 题意: n个房子,颜色为ci 每次操作可以对长度为k的一段房子里的任意一个房子进行任意染色(或不染),使得所有房子颜色相同的最少操作数。 解析: ci<=100,考虑枚举每一个ci 如果ci != i,说
阅读全文
摘要:地址:https://codeforces.com/contest/1452/problem/B 题意: 有n个盒子,每个盒子里面有a[i]个球,对于任意一个盒子,可以将里面的球全部发出来,分配给其余 n-1 个盒子使得 其余 n-1 个盒子球的数量要相等。现在求:向n个盒子中最少添加几个球才能实现
阅读全文
摘要:地址:http://codeforces.com/contest/1451/problem/B 题意: 给出只含01的字符串s, q次询问 每次给出L,R,是否在S中存在一个子字符串(这里的子字符串不可全连续,保证顺序一样)与[L,R]相同? 解析: 假设在[L,R]之外存在一个这样的子字符串,那么
阅读全文
摘要:A:http://codeforces.com/contest/1447/problem/A 解析: 直接输出n个数,1~n即可。 #include<iostream> #include<cstdio> #include<cstdio> #include<cstring> #include<algo
阅读全文
摘要:地址:https://www.acwing.com/problem/content/description/127/ 解析: 看到这种题,很容易想到,w,s的排序方法是关键点。 如果只排其中一个,不好想。 所以从局部出发,考虑交换两个相邻奶牛: 对于 i 牛 和 i+1 牛,我们对它俩进行分析。 发
阅读全文
摘要:A:http://codeforces.com/contest/1443/problem/A 解析: 考虑从2*n开始,每次+2构造 #include<cstdio> #include<cstring> #include<vector> #include<set> #include<algorith
阅读全文
摘要:地址:https://www.acwing.com/problem/content/145/ 没买课的话,应该打不开题。我就截个图吧,题意是很简单的。 解析: 关于位运算,我有个小笔记可供参考:https://www.cnblogs.com/liyexin/p/13914911.html 1:贪心思
阅读全文
摘要:洛谷评测地址:https://www.luogu.com.cn/problem/CF1175D 解析: 假设这k段为:[p1,p2][p3,p4].......[pk-1,pk] 令S表示前缀和 则有 all ==Sp1+2*(Sp2-Sp1)+3*(Sp3-Sp2)......k*(Spk-Spk
阅读全文
摘要:地址:https://vjudge.net/problem/CodeForces-23C/origin 题意: n 给出2*n-1个箱子,分别含有a个苹果,o个橘子 能否找出n个箱子,保证其可装的苹果不少于总苹果数一半,橘子不少于总橘子数一半。 解析: 经过分析,答案是一定存在的。 先按苹果数从小到
阅读全文
摘要:地址:http://codeforces.com/contest/1417/problem/B 题意: 将一个数组分成两组(各组个数可以不一样)c[],d[] 保证f(c)+f(d)最小 f()表示数组中bi+bj==T的对数 解析: 贪心 T为两两相加,那可以平均一下,就是T/2 对于<T/2的数
阅读全文
摘要:A:http://codeforces.com/contest/1420/problem/A 题意: 最多交换n*(n-1)/2-1次,是否能把序列变成非递减序列 解析: 冒泡排序最差的情况是n*(n-1)/2,最差情况就是全递减。所以判断序列是否为单调递减即可。 #include <bits/st
阅读全文
摘要:A:http://codeforces.com/contest/1400/problem/A 解析: 发现每一个字符串,都包含s[n-1],所以直接打印n个s[n-1]即可 #include<bits/stdc++.h> #include<map> #include<iostream> #inclu
阅读全文
摘要:A:http://codeforces.com/contest/1393/problem/A 解析: 猜的,没看懂题意。 #include <bits/stdc++.h> #include<stdlib.h> using namespace std; typedef long long ll; co
阅读全文
摘要:摘自:百度百科,《算法竞赛入门到进阶》 一:概念 是一种基于概率的算法 它是基于Monte-Carlo迭代求解策略的一种随机寻优算法 结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。 理论上算法具有概率的全局优化性能 二:基于的物理原理: 一个
阅读全文
摘要:地址:http://poj.org/problem?id=1521 题意: 就是给定一个串,求原长度和哈夫曼编码后的长,并求比值 解析: 并不需要构建哈夫曼树,由于构建哈夫曼树的过程,是每次找队列中最小的两个进行合并,所以定义一个小为头的优先队列,每次取最小的两个,累加后,再相加放回去。 G++会W
阅读全文
摘要:A:http://codeforces.com/contest/1399/problem/A 解析: 不多说了,直接sort,判是否存在相邻差>1 #include<iostream> #include<cstring> #include<algorithm> #include<stack> usi
阅读全文
摘要:洛谷地址:https://www.luogu.com.cn/problem/CF508E 题意: 给出n对L,R 第i个左括号,与它匹配的右括号与左括号的距离范围为:[L,R] 求是否有序列满足,否则:IMPOSSIBLE 解析: 看了不少题解,勉强搞懂。 对于括号匹配问题,应该优先想到栈。因为括号
阅读全文
摘要:洛谷地址:https://www.luogu.com.cn/problem/CF1038D 题意: n只史莱姆,每一个史莱姆可以吃相邻的左或右,它的分数就变成:它的分数-被吃的分数 求最大的剩余值。 解析: 如果对过程进行太多的分析的话,问题就会变得很复杂。刚开始想的是,把所有能算出来的负数弄出来,
阅读全文
摘要:洛谷地址:https://www.luogu.com.cn/problem/CF1250B 题意: n个人,k个队伍,每个人属于队伍ai,汽车一次至多载两只队伍(全员),费用为车的容量*载人次数,问最少花费。 解析: 对k个组的人数进行从小到大的排序。 那么车容量至少为ak,才能保证按条件运送所有队
阅读全文