codeforces div2 C题思路训练【C题好难,我好菜】
1017C The Phone Number:
构造数列使得LIS和LDS的和最小,定理已知LIS=L,LDS=n/L的向上取整,根据样例可以得到设置L=根号n,构造方法如样例
截断法构造,不用考虑边界:
Show an example of n=22:
"' 19 20 21 22 15 16 17 18 11 12 13 14 7 8 9 10 3 4 5 6 1 2 "'
int tmp = sqrt(n);
for(int i=,j,o=n;i<=n;i+=tmp)
{
for(j=min(i+tmp-,n);j>=i;a[j--]=o--);
}
1019A Elections:
选举投票,收买投票人使得1号获胜的最少金额,本题容易陷入样例的坑里而无法自拔。正确做法观察输入规模3000,时间1s,那就枚举咯
int n,m,a[],b[],x[],c[];
L p=1e18;
int main()
{
int i,j;
L k;
scanf("%d%d",&n,&m);
for(i=;i<=n;i++)
scanf("%d%d",&a[i],&b[i]);
for(i=;i<=n;i++) // 两个数组的选择排序
for(j=i+;j<=n;j++)
if(b[i]>b[j])
swap(a[i],a[j]),swap(b[i],b[j]);
for(i=;i<=n;i++) // 枚举所有的次小值i
{
k=;
for(j=;j<=m;j++)
x[j]=;
for(j=;j<=n;j++)
c[j]=;
for(j=n;j>;j--) // 从后向前
if(x[a[j]]<i || a[j]==)
x[a[j]]++;
else
k+=b[j],c[j]=,x[]++; // 超过阈值的,都买入
for(j=;j<=n;j++) // 能买的再过一遍
if(x[]<=i && a[j]!= && c[j]==)
k+=b[j],c[j]=,x[]++;
if(x[]>i)
p=min(p,k);
}
cout<<p;
return ;
}
codeforces div2 C题思路训练【C题好难,我好菜】的更多相关文章
- Codeforces Round #609 (Div. 2)前五题题解
Codeforces Round #609 (Div. 2)前五题题解 补题补题…… C题写挂了好几个次,最后一题看了好久题解才懂……我太迟钝了…… 然后因为longlong调了半个小时…… A.Eq ...
- codeforces 677A A. Vanya and Fence(水题)
题目链接: A. Vanya and Fence time limit per test 1 second memory limit per test 256 megabytes input stan ...
- PAT乙级真题及训练题 1025. 反转链表 (25)
PAT乙级真题及训练题 1025. 反转链表 (25) 感觉几个世纪没打代码了,真是坏习惯,调了两小时把反转链表调出来了,心情舒畅. 这道题的步骤 数据输入,数组纪录下一结点及储存值 创建链表并储存上 ...
- Codeforces Round #316 (Div. 2) (ABC题)
A - Elections 题意: 每一场城市选举的结果,第一关键字是票数(降序),第二关键字是序号(升序),第一位获得胜利. 最后的选举结果,第一关键字是获胜城市数(降序),第二关键字是序号(升序) ...
- sql 经典查询50题 思路(一)
因为需要提高一下sql的查询能力,当然最快的方式就是做一些实际的题目了.选择了这个sql的50题,这次大概做了前10题左右,把思路放上来,也是一个总结. 具体题目见: https://zhuanlan ...
- 转方阵|2012年蓝桥杯B组题解析第五题-fishers
(6')转方阵 对一个方阵转置,就是把原来的行号变列号,原来的列号变行号 例如,如下的方阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 转置后变为: 1 5 9 1 ...
- 移动距离|2015年蓝桥杯B组题解析第八题-fishers
移动距离 X星球居民小区的楼房全是一样的,并且按矩阵样式排列.其楼房的编号为1,2,3... 当排满一行时,从下一行相邻的楼往反方向排号. 比如:当小区排号宽度为6时,开始情形如下: 1 2 3 4 ...
- 【leetcode每日两题】-Day1-简单题
1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素 ...
- Java程序设计(2021春)——第一章课后题(选择题+编程题)答案与详解
Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 第一章选择题 1.1 Java与面向对象程 ...
随机推荐
- Windows PowerShell 入門(10)-デバッグ編
対象読者 Windows PowerShellでコマンドレット操作ができる方 何らかのプログラミング経験があればなお良い 必要環境 Windows PowerShell デバッグメッセージの出力 Po ...
- vc++基础班[24]---系统各种路径信息的获取
vc++基础班[24]---系统各种路径信息的获取 ------------------------------------------ Begin ------------------------- ...
- Excel 2013 表格自用技巧
参考 Excel表格的基本操作(精选36个技巧) Excel2013基本用法 关于VLOOKUP函数 目录 快速复制单元格 单元格内强制换行 锁定标题行 查找重复值 万元显示 单元格中显示001 按月 ...
- This project is not a myeclipse hibernate project . Assuming Hibernate 3 capabilities configuration editor
开某工程Hibernate配置文件时出现提示,信息大概如标题. 根据网友提供,选中工程,点击MyEclipse-->Project capabilities-->add hibernate ...
- MariaDB主从备份记录
一.预期效果: 环境: centos 6.5 mariadb 10.0.14 (mysql -V) 主服务器:192.168.5.206 从服务器:192.168.5.207 主服务器数据 ...
- 使用layui框架做分页
第一步引用两个文件: <link href="layui-v2.2.5/layui-v2.2.5/layui/css/layui.css" rel="stylesh ...
- 14)django-模板(计数器)
模块中for循环自带计数器. 使用场景:表格数据相增加序列号. 问:可以使用表的自增加序列做为序列号,但是这个存在个问题,即表中数据被删除,则会出现序列不连续. 1)每个循环都有6个公共方法,双循环有 ...
- Oracle 之 外部表
一.外部表概述 外部表只能在Oracle 9i 之后来使用.简单地说,外部表,是指不存在于数据库中的表. 通过向Oracle 提供描述外部表的元数据,我们可以把一个操作系统文件当成一个只读的数 据库表 ...
- Confluence 6 启用远程 API
XML-RPC 和 SOAP 远程 API 从 Confluence 5.5 开始已经废弃了.我们推荐你使用完全支持的Confluence Server REST API. 希望启用 XML-RPC ...
- deepin 桌面突然卡死
deepin桌面突然卡死 使用快捷键Ctrl+alt+F2 重启systemctl