又联考了一场,感觉自己好菜啊,T1没写出来,后来花了一个早上调试。QAQ。最后发现是个-1还有取模没打。。。TAT。。。难受极了!!!
简单的区间(interval)
题目描述:

样例输入:
样例1:
4 3
1 2 3 4 样例2:
4 2
4 4 7 4
样例输出:
样例1:
3 样例2:
6
提示:

时间限制:1000ms
空间限制:512MByte
之前写了一个的代码
#include<bits/stdc++.h>
#define maxn 1001000
#define ll long long
using namespace std; ll n,k,a[maxn],s[maxn],cun[maxn],ans;
vector <ll> up[maxn],down[maxn]; void update(ll l,ll r,ll val)
{
if(!r) return;
up[max((ll) , l)].push_back(val);
down[max((ll) , r)].push_back(val);
} void find(ll l,ll r)
{
if(l >= r) return;
ll ma = ,pos;
for(ll i=l;i<=r;i++)
{
if(a[i] > ma)
{
ma = a[i];
pos = i;
}
} find(l,pos - );
find(pos + ,r);
if(pos - l <= r - pos)//求右边
{
update(pos + ,r,(s[pos - ] + ma) % k);
for(ll i=l;i<pos;i++)
{
ll val = (s[i - ] + ma) % k;
update(pos,r,val);
}
}
else//求左边
{
update(l-,pos - ,(s[pos] - ma % k + k) % k);
for(ll i=pos + ;i<=r;i++)
{
ll val = (s[i] - ma % k + k) % k;
update(l-,pos-,val);
}
}
} void query()
{
for(ll i=;i<=n;i++)
{
for(ll j=;j<up[i].size();j++)
cun[up[i][j]]++;
ans += cun[s[i]];
for(ll j=;j<down[i].size();j++)
cun[down[i][j]]--;
}
} int main(){
scanf("%lld%lld",&n,&k);
for(ll i=;i<=n;i++)
{
scanf("%lld",&a[i]);
s[i] = (s[i - ] + a[i]) % k;
}
find(,n);
query();
printf("%lld",ans);
}
结果惨遭卡常!!!

TAT____
然后卡卡常数就过了。。。
//#pragma GCC optimize(2)
#include<bits/stdc++.h>
#define maxn 1001000
#define ll long long
#define R register
using namespace std; ll n,k,a[maxn],s[maxn],cun[maxn],ans;
vector <ll> up[maxn],down[maxn]; inline void update(ll l,ll r,ll val)
{
if(!r) return;
up[max((ll) , l)].push_back(val);
down[r].push_back(val);
} inline void find(ll l,ll r)
{
if(l >= r) return;
ll ma = ,pos;
for(R ll i=l;i<=r;++i)
{
if(a[i] > ma)
{
ma = a[i];
pos = i;
}
}
find(l,pos - );
find(pos + ,r);
if(pos - l <= r - pos)//求右边
{
update(pos + ,r,(s[pos - ] + ma) % k);
for(R ll i=l;i<pos;++i)
{
ll val = (s[i - ] + ma) % k;
update(pos,r,val);
}
}
else//求左边
{
update(l-,pos - ,(s[pos] - ma % k + k) % k);//就是这里,TM%没有打!!! TM-1没有打!!!
for(R ll i=pos + ;i<=r;++i)
{
ll val = (s[i] - ma % k + k) % k;//同上
update(l-,pos-,val);//同上
}
}
} inline void query()
{
for(R ll i=;i<=n;++i)
{
for(R ll j=;j<up[i].size();++j)
++cun[up[i][j]];
ans += cun[s[i]];
for(R ll j=;j<down[i].size();++j)
--cun[down[i][j]];
}
} int main(){
scanf("%lld%lld",&n,&k);
for(R ll i=;i<=n;++i)
{
scanf("%lld",&a[i]);
s[i] = (s[i - ] + a[i]) % k;
}
find(,n);
query();
printf("%lld",ans);
}
还是跑过了。。。但是难受啊,一个早上啊!!!QAQ!!!

又联考了一场,感觉自己好菜啊,T1没写出来,后来花了一个早上调试。QAQ。最后发现是个-1还有取模没打。。。TAT。。。难受极了!!!的更多相关文章
- 又联考了一场,感觉自己好菜啊,T2推出了公式但是不会逆元QAQ,难受啊!!!不过都确实是一道逆元的好题撒!
简单的玄学(random) 题目描述: 样例输入: 样例1: 3 2 样例2: 1 3 样例3: 4 3 样例输出: 样例1: 1 8 样例2: 1 1 样例3: 23 128 提示: 时间限制:10 ...
- [jzoj]3875.【NOIP2014八校联考第4场第2试10.20】星球联盟(alliance)
Link https://jzoj.net/senior/#main/show/3875 Problem 在遥远的S星系中一共有N个星球,编号为1…N.其中的一些星球决定组成联盟,以方便相互间的交流. ...
- 【JZOJ3875】【NOIP2014八校联考第4场第2试10.20】星球联盟(alliance)
fg 在遥远的S星系中一共有N个星球,编号为1-N.其中的一些星球决定组成联盟,以方便相互间的交流. 但是,组成联盟的首要条件就是交通条件.初始时,在这N个星球间有M条太空隧道.每条太空隧道连接两个星 ...
- 【JZOJ3873】【NOIP2014八校联考第4场第2试10.20】乐曲创作(music)
ujfuiaty 小可可是音乐学院的一名学生,他需要经常创作乐曲完成老师布置的作业. 可是,小可可是一个懒惰的学生.所以,每次完成作业时,他不会重新创作一首新的乐曲,而是去修改上一次创作过的乐曲作为作 ...
- 【JZOJ3852】【NOIP2014八校联考第2场第2试9.28】单词接龙(words)
DDD Bsny从字典挑出N个单词,并设计了接龙游戏,只要一个单词的最后两个字母和另一个单词的前两个字母相同,那么这两个单词就可以有序的连接起来. Bsny想要知道在所给的所有单词中能否按照上述方式接 ...
- 【JZOJ3853】【NOIP2014八校联考第2场第2试9.28】帮助Bsny(help)
EVRT Bsny的书架乱成一团了,帮他一下吧! 他的书架上一共有n本书,我们定义混乱值是连续相同高度书本的段数.例如,如果书的高度是30,30,31,31,32,那么混乱值为3:30,32,32,3 ...
- 【JZOJ3854】【NOIP2014八校联考第2场第2试9.28】分组(group)
MEi Bsny所在的精灵社区有n个居民,每个居民有一定的地位和年龄,ri表示第i个人的地位,ai表示第i个人的年龄. 最近社区里要举行活动,要求几个人分成一个小组,小组中必须要有一个队长,要成为队长 ...
- @游记@ CQOI2019(十二省联考)
目录 @day - 0@ @day - 1@ @day - 2@ @后记@ 我只是来打酱油哒-- 顶多能进个 E 类继续打酱油. 原本还在互奶 A 队,结果现在--铁定进不了队啦. 对初中生的歧视啊 ...
- 2019十二省联考 Round 1 && 济南市市中心游记
在这样一场毒瘤的省选中 这道题目无疑是命题人无私的馈赠 大量精心构造的部分分,涵盖了题目中所有涉及的算法 你可以利用这道题目,对你是否能够进入省队进行初步检查 经典的模型.较低的难度和不大的代码量,能 ...
随机推荐
- back()是返回,也就是说,先加载地址到A页面,再打开页面到B页面,调用 back()方法,就返回到了A页面
from selenium import webdriverdriver=webdriver.Firefox()driver.maximize_window()driver.get('http://w ...
- 获取当前页面的title
#-*-coding:utf-8-*-from selenium import webdriverdriver = webdriver.Firefox()driver.get("https: ...
- TCP/IP笔记——UDP
OSI模型中最下面的两层用来解决两个硬件设备在物理上的通信问题(如规定怎么将电平信号转换为数字信号),相对应的TCP/IP模型中,这部分代表将会将机器封装为一个MAC地址来实现通讯.网络层是关于,具体 ...
- return语句
定义一个函数:可以定义一个由自己想要功能的函数,以下是简单的规则: (1).函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). (2).任何传入参数和自变量必须放在圆括号中间.圆括号之 ...
- 十、Zabbix-自动关联模板
之前的文章中,我们实现了自动注册,自动分组:并且创建了模板,监控项,触发器.为的就是能够实现主机自动被期望的监控项监控到.接下来我们只要能让自动注册的主机能够自动连接到我们设置好的模板,就可以实现自动 ...
- .Net Core - 使用Supervisor进行托管部署
环境 CentOS 7 x64,详见 安装CentOS7虚拟机 .Net Core 2.1.801 详见 CentOS 7 下安装.NET Core SDK 2.1 ftp 详见 CentOS7 ...
- P1507NASA食物
这道题是一个01背包的延伸题,只要透彻理解了,就不难了. 这个题有两个T,一个是体积一个是质量,所以这时候我们必须要加一个for了,同时要优化空间(三维降二维),然后用f[j][k]来表示当体积为j, ...
- JS封装插件:实现文件读写功能
scripting.FileSystemObject是一个可以实现文件读写的COM组件,由于COM组件可以被跨语言调用,因此可以选择像vbs或者JS这种脚本语言调用,下面我就使用该COM组件封装了一个 ...
- [BZOJ5306] [HAOI2018]染色(容斥原理+NTT)
[BZOJ5306] [HAOI2018]染色(容斥原理+NTT) 题面 一个长度为 n的序列, 每个位置都可以被染成 m种颜色中的某一种. 如果n个位置中恰好出现了 S次的颜色有 K种, 则小 C ...
- TMS320F28335——IO控制/定时计操作
一.实现GPIO控制 1.硬件连接 从电路原理图上看来,LED灯是接在GPIO34 上的. 2.IO设置 2.1设置功能 GPXMUX1/2:功能选择寄存器 GPXMUX1/2 每组 IO 一般 ...