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题好难,我好菜】的更多相关文章

  1. Codeforces Round #609 (Div. 2)前五题题解

    Codeforces Round #609 (Div. 2)前五题题解 补题补题…… C题写挂了好几个次,最后一题看了好久题解才懂……我太迟钝了…… 然后因为longlong调了半个小时…… A.Eq ...

  2. codeforces 677A A. Vanya and Fence(水题)

    题目链接: A. Vanya and Fence time limit per test 1 second memory limit per test 256 megabytes input stan ...

  3. PAT乙级真题及训练题 1025. 反转链表 (25)

    PAT乙级真题及训练题 1025. 反转链表 (25) 感觉几个世纪没打代码了,真是坏习惯,调了两小时把反转链表调出来了,心情舒畅. 这道题的步骤 数据输入,数组纪录下一结点及储存值 创建链表并储存上 ...

  4. Codeforces Round #316 (Div. 2) (ABC题)

    A - Elections 题意: 每一场城市选举的结果,第一关键字是票数(降序),第二关键字是序号(升序),第一位获得胜利. 最后的选举结果,第一关键字是获胜城市数(降序),第二关键字是序号(升序) ...

  5. sql 经典查询50题 思路(一)

    因为需要提高一下sql的查询能力,当然最快的方式就是做一些实际的题目了.选择了这个sql的50题,这次大概做了前10题左右,把思路放上来,也是一个总结. 具体题目见: https://zhuanlan ...

  6. 转方阵|2012年蓝桥杯B组题解析第五题-fishers

    (6')转方阵 对一个方阵转置,就是把原来的行号变列号,原来的列号变行号 例如,如下的方阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 转置后变为: 1 5 9 1 ...

  7. 移动距离|2015年蓝桥杯B组题解析第八题-fishers

    移动距离 X星球居民小区的楼房全是一样的,并且按矩阵样式排列.其楼房的编号为1,2,3... 当排满一行时,从下一行相邻的楼往反方向排号. 比如:当小区排号宽度为6时,开始情形如下: 1 2 3 4 ...

  8. 【leetcode每日两题】-Day1-简单题

    1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素 ...

  9. Java程序设计(2021春)——第一章课后题(选择题+编程题)答案与详解

    Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 第一章选择题 1.1 Java与面向对象程 ...

随机推荐

  1. 关于CaciiEZ端口流量阀值报警的设置

    作者:邓聪聪 环境:CactiEZ v10.1 为了更高效的发现问题,在非工作期间,公司的网络可能会出现一些故障,为了及时解决问题,所以做了一个流量监控,并以邮件的方式发送流量异常的端口,以便及时了解 ...

  2. web服务器上某一中文名文件无法访问

    只需要在此目录下    convmv  -f GBK -t UTF-8 --notest  *.xxx 执行这个命令即可

  3. Flash硬件原理

    1.2.1. 什么是Flash Flash全名叫做Flash Memory,从名字就能看出,是种数据存储设备,存储设备有很多类,Flash属于非易失性存储设备(Non-volatile Memory ...

  4. Vue 指令篇 案例(输入提交显示 提交数据_列表)

    一.文本操作指令 //1.v-text <p v-text="msg"></p> 等价于 <p>{{msg}}</p> //2.v- ...

  5. HDU 4549

    水题: 费马小定理+快速幂+矩阵快速幂 (第一次用到费马小定理) #include<bits/stdc++.h> using namespace std; typedef long lon ...

  6. ER/数据库建模工具之MySQL Workbench的使用

    参考:https://blog.csdn.net/soulandswear/article/details/60966808 待后续整理...

  7. 数据库之删除表数据drop、truncate和delete的用法

    数据库中删除表数据的关键字,最常用的可能就是delete了,另外其实还有drop和truncate两个关键字. 老大:drop 命令格式:drop table  tb  ---tb表示数据表的名字,下 ...

  8. 【原创】Linux基础之windows linux双系统

    1 下载iso opensuse 下载: http://download.opensuse.org/distribution/openSUSE-stable/iso/openSUSE-Leap-15. ...

  9. JGroups

    JGroups Developer(s) Bela Ban Stable release 4.0.10.Final / February 1, 2018 Written in Java Operati ...

  10. 协程,twisted

    最原始的请求url_list=[ 'https://www.cnblogs.com/yunxintryyoubest/category/1338759.html', 'https://www.cnbl ...