中山Day5——普及
今天题目真是贼难呐。。。才38。。。
收获:树状数组单个修改
树状数组区间修改
T1:旅行
题意:有n个数,问;从中取任意个数,他们的和为质数的方案数是多少?(n<=50)
暴力模拟即可,这里不讲。
见代码:
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,ans,sum,a[],b[];
bool flag[][];
bool pan(int x)
{
if(x==)
return false;
int i=;
while(i<=sqrt(x))
{
if(x%i==)
break;
else
i++;
}
if(i>sqrt(x))
return true;
else
return false;
}
void dfs(int x)
{
for(int i=b[x-]+;i<=n;i++)
{
if(flag[x][a[i]]==false)
{
sum+=a[i];
flag[x][a[i]]=true;
b[x]=i;
if(pan(sum))
{
ans++;
}
dfs(x+);
b[x]=;
sum-=a[i];
}
}
}
bool cmp(int x,int y)
{
return x<y;
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&a[i]);
sort(a+,a+n+,cmp);
dfs();
printf("%d",ans);
return ;
}
好题哉!!!
T2:神秘山庄
见题:
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
double n,m,a,sum=;
int main()
{
scanf("%lf%lf",&n,&m);
a=m++n;
if(int(n)%==)
printf("%.6lf",/(n+));
else
printf("%.6lf",);
return ;
}
好题哉!!!
T3:幸运锁
有一把幸运锁,打开它将会给你带来好运,但开锁时需要输入一个正整数(没有前导0)。幸运锁有一种运算,对于一个正整数,返回他的相邻两位数字间的差,如1135,运算结果为22(会去掉前导0)
现在已知只有经过反复运算最终结果为7的数才能打开这把锁,给你一个区间[a,b],问该区间中有多少个能打开幸运锁的幸运数。【限制】1<=a<=b<=10^9。
思路:暴力打表,暴力枚举。(据说有大佬用pascal打表AC)
见代码:
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int a[],b[],flag,head;
bool pan(int x)
{
flag=;
while(x!=)
{
flag++;
b[flag]=x%;
x/=;
}
for(int i=;i<=flag;i++)
a[i]=b[flag-i+];
while(flag>)
{
head=;
while(a[]==)
{
for(int j=;j<=flag;j++)
{
a[j-]=a[j];
}
flag-=;
if(flag==)
break;
}
for(int i=;i<flag;i++)
{
a[head]=abs(a[i]-a[i+]);
head++;
for(int j=i+;j<=flag;j++)
{
a[j-]=a[j];
}
flag--;
}
}
if(a[]==)
return true;
return false;
}
int main()
{
freopen("lucky.in","r",stdin);
freopen("lucky.out","w",stdout);
int a1,b1,j,j1=,ans=;
scanf("%d%d",&a1,&b1);
for(int j=a1;j<=b1;j++)
if(pan(j)==true)
ans++;
printf("%d\n",ans);
return ;
}
好题哉!!!
T4:简单题
题意:给定一个序列,有两种操作:询问一段区间内的数字和、给一个区间内每个数加一个值。你需要回答每个询问。
思路:一看这题:呦呵!不是线段树区间修改的模板吗,秒做的说。
见代码:
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
long long n,q,d,s,c1[],sum1[],c2[],a[];
char w;
long long lowbit(long long x)
{
return x&(-x);
}
long long sum(long long c[],long long x)
{
long long ret=;
while(x>)
{
ret+=c[x];
x-=lowbit(x);
}
return ret;
}
void add(long long c[],long long x,long long y)
{
while(x<=n)
{
c[x]+=y;
x+=lowbit(x);
}
}
int main()
{
freopen("simple.in","r",stdin);
freopen("simple.out","w",stdout);
scanf("%ld%ld",&n,&q);
for(int i=;i<=n;i++)
{
scanf("%ld",&a[i]);
sum1[i]=sum1[i-]+a[i];
}
for(int j=;j<=q;j++)
{
cin>>w;
scanf("%ld%ld",&s,&d);
if(int(w)==int('Q'))
{
long long suml=sum1[s-]+s*sum(c1,s-)-sum(c2,s-);
long long sumd=sum1[d]+(d+)*sum(c1,d)-sum(c2,d);
printf("%ld\n",sumd-suml);
}
else
{
long long cost;
scanf("%ld",&cost);
add(c1,s,cost);
add(c1,d+,-cost);
add(c2,s,s*cost);
add(c2,d+,-(d+)*cost);
}
}
return ;
}
好题哉!!!
中山Day5——普及的更多相关文章
- 中山Day10——普及
今天又是愚蠢的一天,估分230,实得110.其中T2.4不会,这里就只说题意和简要思路. 收获:scanf>>a,以及printf<<a. T1:模板题 此题相对简单,就是读入 ...
- 中山Day4——普及
生活开始日益平淡了呢...今天130分. 收获:归并排序求逆序对 背包问题(01.完全.多重)(外带滚动数组优化) T1:题目链接(才不会告诉你们下面的代码也是洛谷上弄来的) 思路:动态规划.首先,设 ...
- 中山DAy2——普及
今天挺不友好的,早上忘记定闹钟,晚了半小时起床,然后早上信心满满打算弄他个300分.结果……132.2分·.WTF??? T1:disease 题意:有n头奶牛,k种细菌(k<=15),给你每头 ...
- 中山纪中集训Day5叒是测试(划淼)
A组T1 矩阵游戏(game) 九校联考24OI__D1T1 问题描述 LZK发明一个矩阵游戏,大家一起来玩玩吧,有一个N行M列的矩阵.第一行的数字是1,2,…M,第二行的数字是M+1,M+2…2*M ...
- 中山普及Day17——普及
今天换教室,本来教室多好嘛,易守难攻,结果...今天今天仅下午就被熊抄了2次,熊超真TMD不是人呐,走路连脚步声都没有. 然后,播报分数: 爆0了!!!
- 中山普及Day13——普及
又是迷之自信的说...估的230,考的50整,我欲上天呐!!! T1:深渊(怕不是黑暗种族聚集地???) 思路:动归.而且是简单动归.转移方程:Fi,j=max(Fi-1,j,Fi,j,Fi-1,(j ...
- day5
作业 作业需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期 ...
- NOIP2016普及总结
---恢复内容开始--- 当时我说如果不出意外有385,结果就这么跪在了第二题,惨啊 本来以为发挥算正常,结果这发挥太不正常了 [T1] 水题啊[趴 注意下细节就好考你会不会写代码. [T2] 这题大 ...
- NOIP2016普及
还记得去年局部变量忘记置零coin爆零的事......结果我今年又要考一年普及[趴 最近沉迷分块莫队无法自拔,这几天才想起来我是个普及组选手 几乎没准备普及,周六上午抱抱佛脚好了...... 希望能顺 ...
随机推荐
- django中的session,cookie
https://blog.csdn.net/chen1042246612/article/details/84327046 https://www.imooc.com/wenda/detail/396 ...
- 吴裕雄 PYTHON 人工智能——基于MASK_RCNN目标检测(4)
import os import sys import random import math import re import time import numpy as np import tenso ...
- 文本编辑器EditPlus的安装
- provide 和 inject高阶使用
provide 在祖先里授权导出 inject在后代负责接收 foo可以是本组件的函数方法 或者 变量foo 也可以是祖先组件自己 祖先组件foo: this 后代组件 foo.$options.da ...
- 11,html5为什呢只需要写<!DOCTYPE HTML>
11,html5为什呢只需要写<!DOCTYPE HTML> html5不基于SGML,不需要对dtd(百科:翻译为文档类型定义,作用是定义xml文档的合法构建模块,成行声明于xml文档中 ...
- java中LinkedList源码分析
ArrayList是动态数组,其实本质就是对数组的操作.那么LinkedList实现原理和ArrayList是完全不一样的.现在就来分析一下ArrayList和LinkeList的优劣吧LinkedL ...
- LVS、Tomcat、Nginx、PHP优化项
一.LVS 性能调优的方法最佳实践1.最小化安装编译系统内核2.优化持久服务超时时间: 1)显示超时时间 #ipvsadm -Ln --timeout #Timeout (tcp t ...
- VMware虚拟磁盘修复
最近VMware虚拟机老是断掉提示无法完成同步,后来提示虚拟磁盘需要修复,经过一番查询,找到了相关检查与修复口令,先记录如下. vmware-vdiskmanager -R “PATH” 说明: PA ...
- 【实战】Springboot +jjwt+注解实现需登录才能操作
springboot +jjwt+注解实现需登录才能调用接口 1.开发需要登录才能进行操作的自定义注解NeedLogin,后面可以写在需要登陆后操作的接口上 package com.songzhen. ...
- python基础(三)---Python基础语法
1. 注释 1.1 单行注释 语法格式: #[空格]说明性文字信息 添加快捷键: Ctrl+/ 取消快捷键: Ctrl+/ 1.2 多行注释 语法格式: """说明性文字 ...