普转提——有趣的数,欢乐ABC,打游戏
有趣的数——构造符合条件的数
给你一个区间,问有多少个数符合每一位中,只有一个数字和其他数字不同,也就是其他数字都相同,有且只有一个异类;
数据范围是1e16;
因为只考虑数量而不用管大小;
只要0到9枚举出来就好了;
#include<cstdio>
#include<map>
#include<cstring>
#include<algorithm> using namespace std;
typedef long long ll;
map<ll,int>mp;
ll l,r;
int a[]; int check(int x,int len)
{
ll sum=;
for(int i=;i<=len;i++)
{
if(a[i]==-) a[i]=x;
sum=sum*+a[i];
}
if(sum>=l&&sum<=r)
{
if(!mp[sum])
{
mp[sum]=;
return ;
}
//printf("%d\n",sum);
return ;
}
else return ;
}
int ans;
int main()
{
scanf("%lld%lld",&l,&r);
for(int len=;len<=;len++)
{
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)//单独的数
{
if(i==j) continue;
for(int k=;k<=len;k++)//单独的数的位置
{
memset(a,-,sizeof(a));
if(k==&&j==) continue;
a[k]=j;
if(check(i,len)) ans++;
}
}
}
}
printf("%d",ans);
return ;
}
记得判重,用的map省心;
欢乐ABC——连续区间找相同的量
给你一个字符串,一个区间中A,B,C的数量如果相等,这样的区间的个数是多少,区间要连续;
数据范围1e6;
用前缀和记录ABC的个数;
如果a[j]-a[i-1]=b[j]-b[i-1],b[j]-b[i-1]=c[j]-c[i-1],即a[j]-b[j]=a[i-1]-b[i-1],b[j]-c[j]=b[i-1]-c[i-1],这样的区间i到j就是合法的;
(a[i]-b[i],b[i]-c[i])为一个元素,访问前方有多少相等的元素;
我们还可以再次转化,令A=1e7,B=-999999,C=-1;
用sum记录前缀和,再sort一遍,求相邻的星通的数;
因为排序过后,相邻的数如果相等,说明在这两个数之间A+B+C=0;也就是三个字符的数量相等;
#include<cstdio>
#include<map>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn=1e6+;
char s[maxn];
int a=,b=-,c=-;
long long sum[maxn];
int ans;
int main()
{
scanf("%s",s);
int len=strlen(s);
for(int i=;i<len;i++)
{
sum[i+]=sum[i];
if(s[i]=='A') sum[i+]+=a;
else if(s[i]=='B') sum[i+]+=b;
else if(s[i]=='C') sum[i+]+=c;
}
sort(sum,sum+len+);
int last=;
for(int i=;i<=len;i++)
{
if(sum[i]==sum[i-])
{
ans+=i-last;
}
else last=i;
}
printf("%d",ans);
return ;
}
打游戏
小强又双叒叕一天随手AK的ZROI的J转S模拟赛。AK完了的小强觉得OI太简单了,太没意思了,于是开始打起了更有挑战的游戏。
小强在游戏里打怪。有一次,他一下子遇到了 n 个怪物。 每个怪物有一个生命值,第 i个怪物的生命值是 hi。而小强除了生命值之外,还有一个属性是魔法值 m。
小强和怪物们依次行动。每一回合,小强先行动,然后怪物们同时行动。小强每次可以选择以下行动之一:
• 普通攻击:令某个怪物的生命值减少 1。
• 重击:消耗 1 魔法值,令某个怪物的生命值减少 2。
• 群体攻击:消耗 1 魔法值,令全体怪物的生命值减少 1。
而每个存活的怪物(生命值严格大于 0)每次会令小强的生命值减少 1。假设小强有足够的生命值来维持存活,小强想知道自己至少需要被消耗多少生命值才能击败所有怪物。
第一行为两个正整数 n 和 m。
第二行为 nn 个正整数,第 i 个数为 hi
普转提——有趣的数,欢乐ABC,打游戏的更多相关文章
- ZROI #364. 【2018普转提day18专题】嘤嘤嘤
ZROI #364. [2018普转提day18专题]嘤嘤嘤 直接贴代码 具体见注释 #include<stdio.h> #include<cstring> #include& ...
- ZR普转提2
ZR普转提2 A 谢谢刁神教我A题 刚开始读错题了,以为是一个不可做的数位DP,然后就暴力滚粗 直到问了问刁神,发现自己题意是错的 然后成了比较简单的题目 直接暴力枚举每一位填什么,剩下的位数的数字都 ...
- ZR9.8普转提
ZR9.8普转提 A,B 打过的CF原题,不管了 C 确认过眼神,是我不会写的DP, 发现这个题目要求的过程类似与一个所有括号都不一样的括号匹配的过程 但是限制条件非常多,有点无从下手的感觉 我们设\ ...
- nyoj 85 有趣的数
点击打开链接 有趣的数 时间限制:3000 ms | 内存限制:65535 KB 难度: 描述 把分数按下面的办法排成一个数表. 1/1 1/2 1/3 1/4..... 2/1 2/2 2/3. ...
- CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)
问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前. 3. 最高 ...
- P2022 有趣的数
P2022 有趣的数 题目描述 让我们来考虑1到N的正整数集合.让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10,11,2,3,4,5,6,7,8,9. 定义K在N个数中的 ...
- CCF软考---《有趣的数》
脑子一热报了CCF的软测..但是又觉得好像并没有什么卵用,就当为蓝桥杯预热然后顺便去软件学院玩一玩吧,遇到一个有意思的题: time limits : 1s 问题描述 我们把一个数称为有趣的,当且仅当 ...
- CCF系列之有趣的数(201312-4)
题目链接: http://115.28.138.223:81/view.page?opid=4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个 ...
- CSP201312-4 有趣的数【dp】
问题描述 试题编号: 201312-4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, ...
随机推荐
- winform c# 请求网站,返回Json字符串
private void callApibjhb() { //输出执行的开始时间 Console.WriteLine(string.Format("Bind {0}", DateT ...
- vue中子组件的created、mounted钩子中获取不到props中的值问题
父子组件通信 这个官网很清楚,也很简单,父组件中使用v-bind绑定传送,子组件使用props接收即可 例如: 父组件中: <template> <div> <head- ...
- 【shell脚本】$ 在shell脚本中的使用
shell脚本中 '$' 与不同的符号搭配其表示的意义也会不同 特殊标志符 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数. 例如,第一个参数是$1,第二个 ...
- storm连接http需要的jar包
将httpclient-4.5.6.jar httpcore-4.4.10.jar这两个jar包拷贝到storm安装目录下的lib目录下 如果是集群的话,需要拷贝到集群中的每台机器上
- 操作系统 (OS)
1. 操作系统(Operation System,OS) 操作系统作为接口的示意图 没有安装操作系统的计算机,通常被称为 裸机 如果想在 裸机 上运行自己所编写的程序,就必须用机器语言书写程序 如果计 ...
- sed & awk 概述
概述 一般情况下,从grep到sed和awk的学习过程是很自然的.sed和awk是一般用户.程序员和系统管理员们处理文本文件的有力工具. sed的名字来源于其功能,它是个字符流编辑器(stream e ...
- PAT Basic 1053 住房空置率 (20 分)
在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则该住房为“可能空置”: 若观察期超过 ...
- TCP、Http和Socket 优劣比较
转自:http://www.cnblogs.com/webwlsong/p/3198712.html 了解HTTP和Socket之前先对网络7层协议有个了解: 7 应用层6 表示层5 会话层 4 传输 ...
- Java 基础 - 泛型类/泛型方法/类型通配符'?' 的用法及栗子
笔记: /**1.定义一个PairTest泛型类, 测试泛型 类 Pair的用法 * class Pair<T>{ * private T first; * private T secon ...
- Cairo
Cairo 英[ˈkaɪrəʊ] 美[ˈkaɪroʊ] n. 开罗(埃及首都); [例句]From Cairo came expressions of regret at the attac