849A - Odds and Ends

问能否将序列划分为奇数个长度奇数的奇数开头奇数结尾的子区间。

一开始想dp。。不过没必要。

const int N=201000;
int n,a[N];
int main() {
sf(n);
rep(i,1,n+1)sf(a[i]);
bool ans=1;
if(a[1]%2==0||a[n]%2==0||n%2==0){
ans=0;
}
puts(ans?"Yes":"No");
return 0;
}

849B - Tell Your World

n个点坐标为\((i,y_i)\),问是否有两条不重合的平行线,点都在上面,且一条线至少一个点。

找到和第1,2个点不共线的点b,然后枚举这三条边作为平行线的一条,其它点就必须在线上或者和另一个点连线和这条线平行。

我sb了把b点和第3个点swap了一下(哭)。代码写得有点长。。

const int N=201000;
int n,y[N];
double k;
int main() {
sf(n);
rep(i,0,n)sf(y[i]);
int b=-1;
rep(i,2,n)if((ll)(y[i]-y[0])*(i-1)!=(ll)(y[i]-y[1])*i){
b=i;break;
}
if(~b){
bool ans=0,tans=1;
rep(i,2,n)if(i!=b){
bool t=(ll)(y[i]-y[0])*(i-1)!=(ll)(y[i]-y[1])*i;
bool s=(ll)(y[i]-y[b])!=(ll)(y[1]-y[0])*(i-b);
if(s && t){
tans=0;break;
}
}
ans|=tans;
tans=1;
rep(i,2,n)if(i!=b){
bool t=(ll)(y[i]-y[0])*(i-b)!=(ll)(y[i]-y[b])*i;
bool s=(ll)(y[i]-y[1])*b!=(ll)(y[b]-y[0])*(i-1);
if(s && t){
tans=0;break;
}
}
ans|=tans;
tans=1;
rep(i,2,n)if(i!=b){
bool t=(ll)(y[i]-y[1])*(i-b)!=(ll)(y[i]-y[b])*(i-1);
bool s=(ll)(y[i]-y[0])*(b-1)!=(ll)(y[b]-y[1])*i;
if(s && t){
tans=0;break;
}
}
ans|=tans;
puts(ans?"Yes":"No");
}else {
puts("No");
}
return 0;
}

849C - From Y to Y

给你一个k,求一个字符串,要求组成的费用为k。

费用:两个字符串拼起来,代价为每个字母在两个串中的个数之积求和,一开始是n个字母,拼n-1次可以成为一个长度n的字符串。

不同字母的计算是独立的,相同的两个字母在两个不同串里乘起来时贡献了1,所以有\(num_i\)个i字母就有\(C(num_i,2)\)次贡献。

k最大100000,每次贪心找贡献不超过k的最大的num,5个字母都足够了。

我漏了0的情况又wa一次→_→

const int N=1000;
int pre[N];
int n;
char s[N*N];
int len;
int main() {
rep(i,0,N)pre[i]=(i-1)*i/2;
sf(n);
if(n==0)puts("a");
int j,c;
while(n>0){
j=lower_bound(pre, pre+N, n)-pre;
if(pre[j]>n)--j;
n-=pre[j];
rep(i,0,j)s[len++]='a'+c;
++c;
}
printf("%s",s);
return 0;
}

【cf849ABC】的更多相关文章

  1. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  2. 【原】谈谈对Objective-C中代理模式的误解

    [原]谈谈对Objective-C中代理模式的误解 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这篇文章主要是对代理模式和委托模式进行了对比,个人认为Objective ...

  3. 【原】FMDB源码阅读(三)

    [原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...

  4. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  5. 【调侃】IOC前世今生

    前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...

  6. Python高手之路【三】python基础之函数

    基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object ...

  7. Python高手之路【一】初识python

    Python简介 1:Python的创始人 Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种解释型.面向对象.动态数据类型的高级程序设计语言,由荷兰人Guido ...

  8. 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】

    说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...

  9. 【原】FMDB源码阅读(二)

    [原]FMDB源码阅读(二) 本文转载请注明出处 -- polobymulberry-博客园 1. 前言 上一篇只是简单地过了一下FMDB一个简单例子的基本流程,并没有涉及到FMDB的所有方方面面,比 ...

随机推荐

  1. Wannafly summer camp Day6 - D 区间权值

    这道题实在是不该,我在化式子的时候,多此一举,把式子进行累加,导致自己当时化的式子是错的,这样导致自己卡了很久,也没想到好的思路,赛后重新分析一波,感觉巨™简单...难受的一逼. 这道题的关键在于,W ...

  2. A direct formulation for sparse PCA using semidefinite programming

    目录 背景 Sparse eigenvectors(单个向量的稀疏化) 初始问题(low-rank的思想?) 等价问题 最小化\(\lambda\) 得到下列问题(易推) 再来一个等价问题 条件放松( ...

  3. Python3练习题 026:求100以内的素数

    p = [i for i in range(2,100)] #建立2-99的列表 for i in range(3,100): #1和2都不用判断,从3开始     for j in range(2, ...

  4. Flutter的输入框TextField

    TextFiled组件的API 先来看一下TextFiled的构造方法: const TextField({ Key key, this.controller, this.focusNode, thi ...

  5. 如何使用nodejs快速搭建本地服务器

    1.首先要安装好node,js 2.以下有安装包下载的链接:这里的安装包是.msi,如果要其他的,可以到菜鸟教程上去找 32 位安装包下载地址 : https://nodejs.org/dist/v4 ...

  6. hadoop 管理命令dfsadmin

    hadoop 管理命令dfsadmin dfsadmin 命令用于管理HDFS集群,这些命令常用于管理员. 1. (Safemode)安全模式 动作 命令 把集群切换到安全模式 bin/hdfs df ...

  7. python之路--装饰器

    二 .通用装饰器的写法 python里面的动态代理. 存在的意义: 在不破坏原有的函数和原有函数的调用基础上,给函数添加新的功能 def wrapper(fn): # fn是目标函数. def inn ...

  8. falsk sqlalchemy 自关联创建评论回复数据库

    本项目在于创建类似微信上的评论回复功能的数据库 基类: from app import db from datetime import datetime class Basemadel(object) ...

  9. npm安裝、卸載、刪除、撤銷發佈包、更新版本信息

    利用npm安裝包: 全局安裝:npm install -g 模塊安裝 局部安裝(可以使用repuire(‘模塊名’)引用):npm install 模塊名稱 如果權限不夠,就是用管理員方式安裝. 本地 ...

  10. Hack You CTF 2014: NotEasyTask

    exe文件,运行后闪退,peid查一下,发现是是c#写的 Reflector打开 找到Main: private static void Main(string[] args) { string ho ...