http://codeforces.com/contest/677

B. Vanya and Food Processor

题意:有一个食物加工器,每次能加工不超过h高度的土豆,且每秒加工至多k高度的土豆(每次加工完高度变为0)。有n个高度为ai的土豆,每秒钟,只要加工器里面剩余的土豆高度不超过k,且外面还有剩余的土豆未被加工,就会把外面剩余的土豆放进加工器里。问需要多少秒才能加工完全部土豆?

思路:用变量add来记录某时刻加工器内土豆的高度,遍历n个土豆们,

(1)每次比较add+ai是否超过h,若超过,则说明有超出h的部分需要另外加工,故ans++,并且add=0置零;

(2)再add+=ai,ans+=(add/k);因为每次只能加工k高度的土豆,所以需要add/k秒,然后处理一下加工后剩余的add值 add%=k,然后进入下一次循环,最终得到ans即为所需的总时间。

代码: //注意:因为a,h和k可以很大,所以ans要是long long型的。

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
typedef long long ll; int a[100005]; int main()
{
int n,h,k;
scanf("%d%d%d",&n,&h,&k);
ll ans=0,add=0;
for(int i=0;i<n;i++)
{
int a;
scanf("%d",&a);
if(add+a>h)
{
ans++;
add=0;
}
add+=a;
ans+=(add/k);
add%=k;
}
if(add) ans++;
printf("%I64d\n",ans);
return 0;
}

C. Vanya and Label

题意:给一字符串s,将s按照以下规则进行转换,每个字符对应一个数值,规则如下:

问有多少种长度与s相同的字符串,与转换后的s按位与(&)的结果仍然为s?(结果需要mod 10e9+7)

思路:好的然后tutorial是这么说的:

每个字符转换后都可以表示为一个二进制数,并且不超过2^6,而对于每个字符对应的二进制数,当它的某个位上为0时,有三种情况可以保证&后不变(仍为0):即0&1,1&0,0&0,当某个位上为1时,则只有一种情况能保证&后不变(仍为1):即1&1,所以串中的每个字符有3^x种情况符合(实际上是3^x * 1^(len(s)-x)),x表示某个字符的二进制数有x个位为0。

代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
#define MOD 1000000007 char s[100005]; int main()
{
scanf("%s",s);
ll ans=1;
int len=strlen(s);
for(int i=0;i<len;i++)
{
int x;
if(s[i]>='0'&&s[i]<='9') x=s[i]-'0';
if(s[i]>='A'&&s[i]<='Z') x=s[i]-'A'+10;
if(s[i]>='a'&&s[i]<='z') x=s[i]-'a'+36;
if(s[i]=='-') x=62;
if(s[i]=='_') x=63; for(int j=0;j<6;j++)
if((x&(1<<j))==0)
ans=(ans*3)%MOD;
}
printf("%I64d\n",ans);
return 0;
}

CF Round #355 Div.2的更多相关文章

  1. CF Round #551 (Div. 2) D

    CF Round #551 (Div. 2) D 链接 https://codeforces.com/contest/1153/problem/D 思路 不考虑赋值和贪心,考虑排名. 设\(dp_i\ ...

  2. CF Round #510 (Div. 2)

    前言:没想到那么快就打了第二场,题目难度比CF Round #509 (Div. 2)这场要难些,不过我依旧菜,这场更是被\(D\)题卡了,最后\(C\)题都来不及敲了..最后才\(A\)了\(3\) ...

  3. 竞赛题解 - CF Round #524 Div.2

    CF Round #524 Div.2 - 竞赛题解 不容易CF有一场下午的比赛,开心的和一个神犇一起报了名 被虐爆--前两题水过去,第三题卡了好久,第四题毫无头绪QwQ Codeforces 传送门 ...

  4. CF Round #600 (Div 2) 解题报告(A~E)

    CF Round #600 (Div 2) 解题报告(A~E) A:Single Push 采用差分的思想,让\(b-a=c\),然后观察\(c\)序列是不是一个满足要求的序列 #include< ...

  5. cf Round#273 Div.2

    题目链接,点击一下 Round#273 Div.2 ================== problem A Initial Bet ================== 很简单,打了两三场的cf第一 ...

  6. 【codeforces】【比赛题解】#960 CF Round #474 (Div. 1 + Div. 2, combined)

    终于打了一场CF,不知道为什么我会去打00:05的CF比赛…… 不管怎么样,这次打的很好!拿到了Div. 2选手中的第一名,成功上紫! 以后还要再接再厉! [A]Check the string 题意 ...

  7. CF Round #509 (Div. 2)

    前言:第一次打\(CF\),因为经验不足以及英语水平很烂,即便在机房大佬的带领下也是花了好久才读懂题目..\(A\)题直到\(11\)分钟才\(A\),题目一共才做了\(4\)题,太菜了.. A. H ...

  8. 【codeforces】【比赛题解】#937 CF Round #467 (Div. 2)

    没有参加,但是之后几天打了哦,第三场AK的CF比赛. CF大扫荡计划正在稳步进行. [A]Olympiad 题意: 给\(n\)个人颁奖,要满足: 至少有一个人拿奖. 如果得分为\(x\)的有奖,那么 ...

  9. 【codeforces】【比赛题解】#869 CF Round #439 (Div.2)

    良心赛,虽然我迟了半小时233333. 比赛链接:#869. 呃,CF的比赛都是有背景的……上次是<哈利波特>,这次是<物语>…… [A]巧妙的替换 题意: Karen发现了石 ...

随机推荐

  1. 线性回归,logistic回归和一般回归

    1 摘要 本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识.前四节主要讲述了回归问题,回归属于有监督学习中的一种方法.该方法的核心思想是从连续型统计数据中得到数学模型,然后将该数 ...

  2. (转)JS中公共/私有变量和方法

    私有变量 在对象内部使用'var'关键字来声明,而且它只能被私有函数和特权方法访问. 私有函数 在对象的构造函数里声明(或者是通过var functionName=function(){...}来定义 ...

  3. Jquery 类似新浪微博,鼠标移到头像,用浮动窗口显示用户信息,已做成一个jquery插件

    请注意!!!!! 该插件demo PHP 的 demo下载  C#.NET的demo下载 需要如下图, 1.鼠标移动到头像DIV时,Ajax获取数据,并让浮动DIV显示出来. 2.鼠标可以移动到上面浮 ...

  4. JForum2.1.9 安装过程

    JForum2.1.9 安装过程 JForum2.1.9 安装过程 2013/08/10 0:48 1.第一次接触 2013/08/08 在开源中国看到一个国外开源的Java论坛,然后下载JForum ...

  5. tag标签记录

    看到项目代码中有一个自定义的tag标签,想起以前自己写过的标签,竟然忘记的差不多了,手一痒,自己写个简单的tag标签,回顾一下历史知识 首先建一个servlet工程,然后写个index.jsp,项目跑 ...

  6. linux下php-5.4.8.tar.gz编译安装全攻略

    首先安装基础依赖组建,注:这些依赖组建也是LINUX+PHP+MYSQL+APACHE+NGINX+MEMCACHED时必要的系统组件  LANG=C yum -y install gcc gcc-c ...

  7. VS2015下的Android开发系列02——用VS开发第一个Android APP

    配置Android模拟器 这算是第一篇漏下说的,配置好VS的各参数,新建Android项目后,会发现菜单下的工具栏会多出Android相关的工具栏,红色圈出的就是AVD. 打开AVD后可以从模版处选一 ...

  8. quagga源码分析--路由信息处理zebra-rib

    对于各个协议生成的路由信息的处理属于quagga中非常重要的一个功能,如何在内核进行路由增加,更新,删除是一个复杂的过程. quagga在thread任务调度中加入了一种工作队列,work_queue ...

  9. Linux实战教学笔记10:正则表达式

    第十节 正则表达式 标签(空格分隔):Linux实战教学笔记 ---更多资料点我查看 第1章 什么是正则表达式 正则表达式就是为了处理大量的文本|字符串而定义的一套规则和方法 通过定义的这些特殊符号的 ...

  10. JAVA 代码开发规范

    一.开发工具规范: 1. 开发工具经项目负责人调试后统一确定. 2. 开发工具一经确定不允许集成任何非统一插件,若有需要,经项目负责人同意后统一为 项目组成员添加. 3. 开发工具的编码格式不允许修改 ...