07 DAY 1
壮烈的一天。。。
第一题
本意是水题,然后写了块状数组模拟,最后发现算法错了。。。
然后其实快排一遍扫一遍完事。。。 100分
#include <cstdio>
#include <algorithm>
#define min(a,b) ((a)<(b)?(a):(b))
struct node{
int a,b;
} d[400000];
int i,n,a,b,l,m,j,k;
int pl;
bool cmp(node a,node b){
return a.a<b.a;
}
int main(){
freopen("cut.in","r",stdin);
freopen("cut.out","w",stdout);
scanf("%d",&n);
for(i=0;i<n;++i){
scanf("%d%d",&a,&b);
d[i].a=a;
d[i].b=b;
}
std::sort(d,d+n,cmp);
pl=n;
for(i=0;i<pl;++i){
j=i-1,k=i+1;
if(k==pl) b=10000000; else b=d[k].a-d[i].a;
if(j<0) a=10000000; else a=d[i].a-d[j].a;
l+=d[i].b-min(min(a,b),d[i].b);
}
printf("%d\n",l);
return 0;
}
第二题
我等蒟蒻只能爆搜骗分 30分
#include <cstdio>
int a[40],n,p,c,i;
unsigned int k;
void search(int f,int s){//大神我的大法师哪儿错了?
if(f==n){
if(s==c) ++k;
return;
}
search(f+1,s);
search(f+1,(s*a[f+1])%p);
}
int main(){
freopen("count.in","r",stdin);
freopen("count.out","w",stdout);
scanf("%d %d %d",&n,&p,&c);
for(i=0;i<n;++i) scanf("%d",a+i);
search(0,1);
search(0,a[0]);
printf("%d",k%1000000007);
return 0;
}
第三题
果然是太弱了。。。只会二分答案贪心检验 40分代码
#include <cstdio>
int n,s,i,f[2000],k,ans,left,right,mid,last,t;
bool ok(int p){
last=0;
t=s-f[0]+15;
if(t<=0)return false;
for(i=1;i<n;++i){
t-=f[i];
if(i==last+p){
t+=p*15;
last=i;
}
if(t<=0) return false;
}
return true;
}
int main(){
freopen("magic.in","r",stdin);
freopen("magic.out","w",stdout);
scanf("%d %d",&n,&s);
for(i=0;i<n;++i){
scanf("%d",f+i);
k+=f[i];
}
if(k<s){
printf("No upper bound.");
return 0;
}
if(!ok(1)){
printf("-1\n");
return 0;
}
ans=0;
left=1;
right=n;
while(left<=right){
mid=(left+right)/2;
if(ok(mid)){
ans=mid;
left=mid+1;
}else{
right=mid-1;
}
}
printf("%d\n",ans);
return 0;
}
最后无限膜拜L.Z.W大神 @vb4896
07 DAY 1的更多相关文章
- iOS系列 基础篇 07 Action动作和输出口
iOS系列 基础篇 07 Action动作和输出口 目录: 1. 前言及案例说明 2. 什么是动作? 3. 什么是输出口? 4. 实战 5. 结尾 1. 前言及案例说明 上篇内容我们学习了标签和按钮 ...
- javaSE基础07
javaSE基础07 一.static静态修饰符 用了static修饰的变量就会变成共享的属性,只会初始化一次,在内存中只存在一个,并且每个对象都可以访问,存放在方法区(数据共享区) 1.1 stat ...
- 《HelloGitHub月刊》第07期
最近工作上的事比较多,<HelloGitHub>月刊第07期拖到月底才发. 本期月刊对logo和月刊的排版进行了优化,不知道大家的反馈如何,还望大家多多反馈,让<HelloGitHu ...
- Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档
array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...
- 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址
驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址 最近重新看了乾龙_Heron的<ARM 上电启动及 Uboot 代码分析>(下简称<代码分析>) ...
- NPOI 导入导出excel 支持 03 07
因为微软的office成本太高了,所以开发项目的时候电脑上没安装office,而是安装了wps.但开发语言用的是C#,所以直接调用微软的office组件是很方便的,但一方面慢,一方面成本高,所以从网上 ...
- Archlinux 2015.07.01 和 Windows7 双系统 安装教程
提前在windows7下给Archlinux预留一个分区,大小最好在20G以上(根据自己硬盘情况分配). 第一步,安装前的准备 从arch官网下载最新的ISO文件archlinux-2015.07.0 ...
- Java虚拟机JVM学习07 类的卸载机制
Java虚拟机JVM学习07 类的卸载机制 类的生命周期 当Sample类被加载.连接和初始化后,它的生命周期就开始了. 当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就 ...
- AC日记——有趣的跳跃 openjudge 1.6 07
07:有趣的跳跃 总时间限制: 1000ms 内存限制: 65536kB 描述 一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1). ...
- AC日记——配对碱基链 openjudge 1.7 07
07:配对碱基链 总时间限制: 1000ms 内存限制: 65536kB 描述 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成.而构成DNA的碱基共有4种,分别为腺瞟呤(A).鸟嘌 ...
随机推荐
- DOM(八)使用DOM控制表单
1.表单简介 表单<form>是网页中交互最多的形式之一,它通过各种形式接收用户的数据,包括下拉列表框,单选按钮,复选框和文本框,本篇主要介绍表单中常用的属性和方法 javascript中 ...
- Objective-C Runtime(转)
博主地址: http://yulingtianxia.com/blog/2014/11/05/objective-c-runtime/ 曾经觉得Objc特别方便上手,面对着 Cocoa 中大量 API ...
- Callable、Future和FutureTask
创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口.这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果. 如果需要获取执行结果,就必须通过共享变量或者使用线 ...
- iOS边练边学--级联菜单的两种实现方法
一.方法1:如图,图中的两个tableView分别交给两个控制器来管理 重点难点:categoryTableView被点击之后,subcategoryTableView要取得相应的数据进行刷新,所以s ...
- ztree点击文字勾选checkbox,radio实现方法
ztree的复选框checkbok,单选框radio是用背景图片来模拟的,所以点击文字即使用label括起checkbox,radio文字一起,点击文字也是无法勾选checkbox. 要想点击ztre ...
- 【Matplotlib】绘图常见设置说明
说明:此贴会不定期进行更新! 设置1:图像的大小设置. 如果已经存在figure对象,可以通过以下代码设置尺寸大小: f.set_figheight(15) f.set_figwidth(15) 若果 ...
- Oracle常用sql
Oracle不像Sqlserver,并没有提供l默认约束,但提供了默认值,效果一样.--------------------------- 在建表时设置默认约束-------------------- ...
- 最短路之Dijkstra算法
1. 邻接矩阵 int cost[MAX_V][MAX_V]; //assume cost[u][v]>0 int d[MAX_V]; bool used[MAX_V]; void Dijkst ...
- IOS基础之 (十一) 内存管理 ARC
一 内存管理 1. set 方法内存管理的相关参数 retain: release旧值,retain新值(值适用于OC对象) assign:直接赋值(set方法默认,适用于非OC对象类型,即基本数据类 ...
- Java中数据类型转换问题
boolean类型不可以转换为替他的数据类型. Java中byte(8位).short(16位).char三种类型的优先级是相同的,相同优先级之间是不能进行自动转换的(如果相互转换的话,必须强制类型转 ...