
算法基础
文章平均质量分 81
枚举、模拟、递归和分治、贪心、排序、前缀和查分、二分、倍增、构造
zeng_jun_yv
title:
退役小曾
展开
-
前缀和优化+计蒜客 泡咖啡
题目:蒜头君想泡咖啡喝。现在他得到了 nn 份菜谱,每个菜谱上都给了两个数l,rl,rl,r代表温度区间在[l,r][l,r][l,r] 度泡出来的咖啡会很好喝。可是菜谱太多了,蒜头君一度感到疑惑。经过思考之后他得出了一个结论:某个温度只要有 k 份或者更多菜谱推荐,那么这个温度下泡出来的咖啡会很好喝。现在他给出了 m 个温度区间,同样还是用 [l,r][l,r][l,r]表示,现在求问每个区间里面有多少个整数,使得咖啡在这个温度下泡出来会很好喝?输入格式第一行为三个整数 n,k,m。第 2∼n原创 2021-05-26 11:25:18 · 219 阅读 · 0 评论 -
2020牛客国庆集训派对day2 F题 Java大数处理
题目:链接:https://ac.nowcoder.com/acm/contest/16913/F来源:牛客网The following code snippet calculates the sum of the areas of all the sub rectangular grid in a rectangular grid from (0,0) to (N,N)\ .(N,N) . Find an efficient way to compute that.sum = 0for r1 =原创 2021-05-21 21:34:16 · 113 阅读 · 0 评论 -
构造前缀贪心+ 计蒜客 子矩阵求和
题目:给出一个 nn 行 mm 列的矩阵,矩阵的每个位置有一个非负整数 a[i][j],有 qq 次询问,每次询问求一个左上角为 (a,b),右下角为 (c,d) 的子矩阵的所有数之和。输入格式第一行两个整数 n,m,表示矩阵的行和列的大小。接下来 nn 行每行 m 个整数,为矩阵内容。接下来一行为一个整数 q ,表示询问次数。接下来 q 行每行 44 个整数 a,b,c,d,含义见题面。输出格式共 q 行,第 i 行为第 i个询问的答案。数据范围n×m≤100,000,a[i][j]≤原创 2021-05-20 22:05:37 · 425 阅读 · 0 评论 -
2021年度训练联盟热身训练赛第五场 H题In-place Sorting+贪心构造
题意:给你n个小于101810^{18}1018的大数,问在可以再不改变序列位置,之改变数值中某数位的‘9’变为‘6’或将‘6’变为‘9’,求的最终序列由小到大,且字典序最小。题目:链接:https://ac.nowcoder.com/acm/contest/16741/H来源:牛客网Woe is you – for your algorithms class you have to write a sorting algorithm, but you missed the relevant le原创 2021-05-19 16:09:30 · 190 阅读 · 0 评论 -
递归函数中局部变量和全局变量
有时候会因为不注意递归函数中局部变量和全局变量,而导致结果和我们期望的不一致,递归中,在递归中的局部变量和全局变量,可以类似的看成函数调用时传递方式的按值传递(局部变量)和引用传递(全局变量)局部变量:可以看成两个值,即虽然名字相同,但每次递归时是重新创建的变量,不会覆盖掉上次创建的值;(类似形参与实参不同)全局变量:每一次对于全局变量进行操作,就会改变它的值。看下面两个简单的程序,看它们的运行结果程序一:#include <stdio.h>void f(){ char x;原创 2021-05-15 09:55:05 · 7570 阅读 · 3 评论 -
2018年蓝桥杯B组题E题+快排
题目:E 快速排序:以下代码可以从数组a[]中找出第k小的元素。它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。请仔细阅读分析源码,填写划线部分缺失的内容。#include <stdio.h>int quick_select(int a[], int l, int r, int k){ int p = rand() % (r - l + 1) + l; int x = a[p]; { int t = a[p]; a原创 2020-10-15 11:32:11 · 218 阅读 · 0 评论 -
二分+01分数规划+最大化平均值 Dropping tests POJ - 2976
题意:给你若n个分数,分子a[i]a[i]a[i],分母b[i]b[i]b[i],使满足公式100⋅∑i=1nai∑i=1nbi100\cdot\tfrac{\sum_{i=1}^{n} a_{i}}{\sum_{i=1}^{n} b_{i}}100⋅∑i=1nbi∑i=1nai,求任意去掉k个分数后,公式结果最大值。题目:In a certain course, you take n tests. If you get aia_{i}ai out of bib_{i}bi questi原创 2021-05-03 10:35:04 · 184 阅读 · 0 评论 -
#10017 「一本通 1.2 练习 4」传送带+三分套三分
题目描述原题来自:SCOI 2010在一个维平面上有两条传送带,每一条传送带可以看成是一条线段。两条传送带分别为线段和线段。lxhgww 在上的移动速度为,在上的移动速度为,在平面上的移动速度。现在 lxhgww 想从点走到点,他想知道最少需要走多长时间。输入格式输入数据第一行是个整数,表示和的坐标,分别为;第二行是个整...原创 2019-10-06 08:34:50 · 489 阅读 · 0 评论 -
Subset POJ - 3977(折半枚举+二分+二进制枚举)
题意:给你一个集合N(N<=35),问集合的子集,除了空集,使得自己中所有元素和的绝对值最小,若存在多个值,那么选择子集中元素最少的那个。题目:Given a list of N integers with absolute values no larger than 101510^{15}1015, find a non empty subset of these numbers which minimizes the absolute value of the sum of its elem原创 2020-11-20 20:40:40 · 265 阅读 · 0 评论 -
题目 1885: [蓝桥杯][2017年第八届真题]分巧克力+二分
题目:题目描述儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数大小相同例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小Hi计算出最大的边长是多少么?输入第一行包含两个整数N和K。(1 <= N, K &原创 2020-10-15 20:30:48 · 387 阅读 · 1 评论 -
二分+最大化最小值 River Hopscotch POJ - 3258
题意:起始有两个石头,位置是000和nnn,在这中间有n个石头,问如何拿走m块石头后,使得他们之间的最小间隔的最大值。题目:Every year the cows hold an event featuring a peculiar version of hopscotch that involves carefully jumping from rock to rock in a river. The excitement takes place on a long, straight river原创 2021-04-29 21:45:38 · 133 阅读 · 0 评论 -
The Water Bowls POJ - 3185(开关问题+暴力)
题意:题目:The cows have a line of 20 water bowls from which they drink. The bowls can be either right-side-up (properly oriented to serve refreshing cool water) or upside-down (a position which holds no water). They want all 20 water bowls to be right-side-u原创 2020-10-23 19:26:43 · 182 阅读 · 0 评论 -
牛客网 第十七届中国计量大学程序设计竞赛(同步赛)(重现赛)B题 Broken Pad 暴力+思维
题意:给你两个01串,经过两种操作,1.直接让第一串经过操作变成目标串;2.可以点击空白处,即0的地方,使得操作串全部清空为0串,再变为目标串;最终比较两种方式,哪种需更少步骤,输出每步点击的位置。来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld题目描述The party began, the greasy uncle was playing cards, the fat otaku was原创 2020-10-03 08:56:48 · 489 阅读 · 0 评论 -
K-periodic Garland CodeForces - 1353E(暴力+贪心+dp)
题意:给定长为 n 的 0, 1 字符串,你可以通过一次操作改变一个字符(0 变 1 or 1 变 0),问最少几次操作可以使任意相邻两个 1 之间的距离为 k ?题目:You are given a garland consisting of n lamps. States of the lamps are represented by the string s of length n. The i-th character of the string si equals ‘0’ if the i-原创 2020-05-22 21:59:51 · 627 阅读 · 0 评论 -
Two Arrays And Swaps CodeForces - 1353B(贪心+分类)
题意:给定两个数组,你可以交换 k 次 两个数组的元素,问最后 a 数组的和最大可以是多少?题目:You are given two arrays a and b both consisting of n positive (greater than zero) integers. You are also given an integer k.In one move, you can choose two indices i and j (1≤i,j≤n) and swap ai and bj (原创 2020-05-21 21:50:59 · 417 阅读 · 0 评论 -
Most Unstable Array CodeForces - 1353A(数学+贪心+建设性算法)
题意:给定 n, m,构造出一个长度为 n 的数组 a,使得数组的和为 m,在此条件下∑i=1n−1∣ai−ai−1∣\sum_{i=1}^{n-1}|a_{i}−a_{i-1}|i=1∑n−1∣ai−ai−1∣ 最大是多少?题目:You are given two integers n and m. You have to construct the array a of length n consisting of non-negative integers (i.e. integers g原创 2020-05-21 21:44:48 · 429 阅读 · 0 评论 -
Minimize the Permutation CodeForces - 1256(贪心)
题意:q次询问,每次询问给你长度为n的排列,然后你每次可以选择一个位置i和i+1的数字进行交换。但是每个位置只能交换一次,问你反转若干次后,这个排列最小是多少?题目:You are given a permutation of length n. Recall that the permutation is an array consisting of n distinct integers...原创 2019-11-07 16:42:04 · 438 阅读 · 0 评论 -
Too Many Segments (hard version) CodeForces - 1249D2(贪心+容器vector+set)
题目给多组线段,而每一个点的覆盖次数不超过K,每次可去除一个线段,问最少去多少线段以及线段的位置。The only difference between easy and hard versions is constraints.You are given nn segments on the coordinate axis OX. Segments can intersect, lie i...原创 2019-11-02 09:50:52 · 333 阅读 · 0 评论 -
Too Many Segments (easy version) CodeForces - 1249D1(贪心+差分)
题意给多组线段,而每一个点的覆盖次数不超过K,每次可去除一个线段,问最少去多少线段以及线段的位置。The only difference between easy and hard versions is constraints.You are given nn segments on the coordinate axis OX. Segments can intersect, lie i...原创 2019-11-02 08:32:28 · 444 阅读 · 0 评论 -
Minimizing Difference CodeForces - 1244E(贪心题)
Minimizing Difference CodeForces - 1244E(贪心题)题目Minimizing Difference CodeForces - 1244E(贪心题)题意:给出一列数,至多n个操作使其中的数+1或-1,要求得到最小的差值(最大值-最小值);思路:就是一道贪心题·,但由于操作次数过大,范围需定义为 long long分情况(到每个数的个数大小)从两边向中间推进,当...原创 2019-10-19 08:12:32 · 340 阅读 · 0 评论 -
#10010 「一本通 1.1 练习 6」糖果传递 (数学+贪心)
题目描述原题来自:HAOI 2008有 n个小朋友坐成一圈,每人有 ai 颗糖果。每人只能给左右两人传递糖果。每人每次传递一颗糖果的代价为 1 。求使所有人获得均等糖果的最小代价。输入格式第一行有一个整数,n表示小朋友个数;在接下来 n行中,每行一个整数。输出格式输出使所有人获得均等糖果的最小代价。样例样例输入41254样例输出4...原创 2019-10-03 14:38:23 · 1293 阅读 · 0 评论 -
#10003. 「一本通 1.1 例 4」加工生产调度(贪心)
加工生产调度题目描述某工厂收到了n个产品的订单,这n个产品分别在A、B两个车间加工,并且必须先在A车间加工后才可以到B车间加工。某个产品i在A、B两车间加工的时间分别为Ai、Bi。询问怎样安排这n个产品的加工顺序,才能使总的加工时间最短。这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在A、B两...原创 2019-10-02 16:17:10 · 906 阅读 · 2 评论 -
Millenium Leapcow POJ - 2111 (千禧年跳牛)(贪心找最长路径,记忆化)
题意:给你一个矩阵,问你按照象棋马的走法,下一步比上一步的数大,问长度最长的序列是多长,然后输出序列。如果有多个最长序列输出字典序最小的那个。类似滑雪,找出最长路径,多个答案 输出字典序最小的。思路:将矩阵上的数字从大到小排序,贪心找路径。。The cows have revised their game of leapcow. They now play in the middle of...原创 2019-08-22 19:12:48 · 332 阅读 · 0 评论 -
后悔贪心+P2949 [USACO09OPEN]Work Scheduling G
题意:给你N个任务,每个任务 iii 都有截止日期DiD_{i}Di和报酬PiP_{i}Pi,每完成一个工作需要耗费1的单位时间,你需要使所得报酬最大并输出。题目描述Farmer John has so very many jobs to do! In order to run the farm efficiently, he must make money on the jobs he does, each one of which takes just one time unit.His w原创 2021-04-29 17:21:44 · 559 阅读 · 0 评论 -
算法基础
枚举模拟递归$分治贪心排序前缀$查分二分倍增构造原创 2021-04-28 15:44:17 · 1179 阅读 · 0 评论 -
团体程序设计天梯赛-练习集L1-011 A-B (20分)getline输入
题目:本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过104 ,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It’s a fun game!aeiou输出样例:I lv GPLT! It’s fn gm!分原创 2020-10-04 10:49:40 · 317 阅读 · 0 评论