题解 AT2684 【K-City】】的更多相关文章

题目描述 有N个数,每个数的范围是[-50,50],现在你要从这N个数中选出K个,使得这K个数的乘积最大. 输入格式 第一行,N和K. 1 <= N <= 50.  1 <= K <= 10. 第二行,N个整数. 输出格式 一个整数. 输入样例 5 36  9  -5  -6  4 输出样例 270 题解 容易想到贪心策略:答案必有偶数个负数.则枚举负数数量在乘上剩下的非负数数量即可.这里用前缀积可以更快. #include <iostream> #include &l…
题面 背景 输入 输出 翻译(渣自翻) 给定K个包含K个数字的表,要求将其能产生的\( k^{k} \)个值中最小的K个输出出来 题解 k路归并问题的经典问题 可以转化为二路归并问题求解 考虑A[],B[]两个有序数组 使用堆,记录一些二元组\( (x,y) \),x表示值,y表示对应的b的下标,因为我们是把b合并到a上,所以我们能够根据记录的下标推出后面的值 然后两两合并 所以就很简单 放代码 #include <cstdio> #include <algorithm> #inc…
Problem AtCoder-agc005D 题意概要:给出\(n,k\),求合法的排列个数,其中合法定义为任何数字所在位置与自身值差的绝对值不为\(k\)(即求排列\(\{A_i\}\),使得\(\forall i\in[1,n],|a_i-i|\not =k\) Solution 刚看这道题时除了全集取反搞容斥外没有任何思路啊 \(f_i\)表示排列中至少有\(i\)对冲突的方案数,一对冲突定义为存在一个\(i\)使得\(|a_i-i|=k\) 考虑全集取反,加上一点点容斥思想可得 \[A…
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 题意:对k个有序的链表进行归并排序.并分析其复杂度. /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(N…
problem: Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. Tags Divide and Conquer Linked List Heap 合并K个已序单链表 thinking: (1)题目没有要求不能够新开ListNode,所以暴力破解法:提取K个list的keyword.排序.新建结点插入.这样的情况对原list是否排好序没有要求. 排…
此题这么水,竟然发题解的这么少. 本蒟蒻也来发一篇QwQ. 题目中所谓“四条街包围一个街区”其实就是两条街之间夹一个街区而已: n条街有几条两两相邻呢?答案是n-1条: m条街有几条两两相邻呢?答案是m-1条: 那么n,m条街就有(n-1)(m-1)个街区: 注意: n与m可能是0与0,(n-1)(m-1)=(-1)(-1)=1. 要加特判!!! AC代码(你们最想要的) #include<bits/stdc++.h> using namespace std; int main(){ int…
CF1239D Catowice City 有 \(n\) 个人和 \(n\) 只猫.有 \(m\) 对人猫友谊,即第 \(u_i\) 个人认识第 \(v_i\) 只猫,保证第 \(i\) 个人和第 \(i\) 只猫认识.求 \(j\) 个人和 \(p\) 只猫使 \(j+p=n(1\le j,p<n)\),并且这些人和猫互不认识.\(t\) 组测试数据. 数据范围: \(1\le n\le m\le 10^6\),\(1\le \sum n,\sum m\le 10^6\). 首先这是个二分图…
题目链接: https://www.luogu.org/problemnew/show/UVA1330 http://poj.org/problem?id=1964 https://www.luogu.org/problemnew/show/SP277 思路: 单调栈 如果不知道这是什么可以先做这道题和看看本蒟蒻的博客: https://www.luogu.org/blog/Rye-Catcher/solution-sp1805 或者到网上搜其他dalao的博客 如果你知道单调栈的思路,那么就不…
[codevs1157]2k进制数 试题描述 设r是个2k 进制数,并满足以下条件: (1)r至少是个2位的2k 进制数. (2)作为2k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<w≤30000)是事先给定的.问:满足上述条件的不同的r共有多少个?我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个"0"或"1"组成),S对应…
TonyFang+Sps+我=5/12 滚了个大粗 2016年9月21日16:42:36 10题完工辣 01 题意:求形同的数中大于n的最小值 题解:预处理所有的(5194个),在这里面二分 #include<map> #include<stack> #include<queue> #include<cstdio> #include<string> #include<vector> #include<cstring> #i…