第一题太亏了、、

TMD p竟然是定值、那还输入NM啊、、、

样例p=4还是错的、、、

实际上看到这个题就已经有了30分做法,也有了一点正解的思路

但是、、、tmd p是定值、、、

感人的爆0了

30分做法:

30分代码:

#include<iostream>
#include<cstdio>
using namespace std;
#define ll int
ll x,y,n,i,p;
long long ans;
ll tong[300001];
int ni[300001];
ll jilu;
ll lin;

long long quai(long long a,long long b)
{
long long daan=1;
while(b!=0)
{
if(b%2==1)daan=daan*a%p;
b/=2;
a=(a*a)%p;
}

return daan;
}
int main()
{
freopen("tyrrell.in","r",stdin);
freopen("tyrrell.out","w",stdout);
cin>>n>>p;
ans=1;
tong[1]++;
for(i=1;i<p;i++)ni[i]=quai(i,p-2);
for(i=1;i<=n;i++)
{    
 // if(i==n/2)cout<<"pp"; 
lin=n-i+1;
  if(!(lin%p))
{
lin=lin/p%p;
jilu++;
}
 
ans=1ll*ans*lin%p;

if(!(i%p))
{
ans=1ll*ans*ni[i/p%p]%p;
jilu--;
}else ans=1ll*ans*(ni[i%p])%p;
if(jilu>0){tong[0]++;}else {tong[ans]++;}
}
for(i=0;i<p;i++)
{
tong[i]%=29;
if(tong[i]>=10)
{
printf("%c",tong[i]-10+'A');
}else printf("%d",tong[i]);

}

}

更高分做法:NNT+数位dp:

没学、

此题有线段树做法,即

会了吧?一个简单的前缀和+两颗线段树、

但很慢且不好打而且不会维护(至少对于我)

然后上巨难理解的代码:

#include <iostream>
#include <cstdio> 
#include <cstring> 
#include <algorithm> 
#define rep(i, b) for(int i=0,nn=int(b); i<nn;++i) 
#define REP(i,a,b) for(int i=int(a),nn=int(b);i<=nn;++i)
#define VEP(i,a,b) for(int i=int(a),nn=int(b);i>=nn;--i) 
typedef long long ll; 
using namespace std; 
const int N = 100010; 
struct qury { 
int tp, l, r, d, tm; 
qury(int tp=0,int l=0,int r=0,int d=0,int tm=0) 
:tp(tp), l(l), r(r), d(d), tm(tm){}
} qy[N]; 
int xbt[N], ybt[N], abt[N], lod[N], rod[N], px[N], py[N];
int _x, _y, __x, __y, n, m, as1[N], as2[N];

inline void in(int &x) { 
char ch=getchar(); int f=1; 
for (;ch<'0'||ch>'9';ch=getchar()) if (ch=='-') f=-1; 
for (x=0; ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-48; 
x *= f; 

inline bool lcmp(int a, int b) { return qy[a].l < qy[b].l; } 
inline bool rcmp(int a, int b) { return qy[a].r < qy[b].r; }

inline void xbt_ad(int x,int v) {for(;x<=m;x+=x&(-x))xbt[x]+=v;}
inline void ybt_ad(int x,int v) {for(;x<=m;x+=x&(-x))ybt[x]+=v;}
inline void abt_ad(int x,int v) {for(;x<=m;x+=x&(-x))abt[x]+=v;}
inline int xbt_qy(int x,int sm=0) {for(;x;x-=x&(-x))sm+=xbt[x];return sm;}
inline int ybt_qy(int x,int sm=0) {for(;x;x-=x&(-x))sm+=ybt[x];return sm;}
inline int abt_qy(int x,int sm=0) {for(;x;x-=x&(-x))sm+=abt[x];return sm;}

inline void come(qury ths) { 
int tp=ths.tp, d=ths.d, tm=ths.tm; 
if (tp==1) xbt_ad(tm, d); 
if (tp==2) ybt_ad(tm, d); 
if (tp==3) as1[tm] = abt_qy(tm);
}
inline void leave(qury ths) { 
int tp=ths.tp, d=ths.d, tm=ths.tm; 
if (tp==1) xbt_ad(tm, -d); 
if (tp==2) ybt_ad(tm, -d); 
if (tp==3) as2[tm] = abt_qy(tm);

inline void contribute(int x, int y) { 
int xl, xr, yl, yr, l, r, mid, tl, tr; 
l = 0, r = m, xl = m+1; 
while (l <= r) { mid = (l+r)>>1; 
if (x + xbt_qy(mid)>=_x) xl=mid, r=mid-1; 
else l = mid+1; 

l = 0, r = m, xr = -1; 
while (l <= r) { mid = (l+r)>>1; 
if (x + xbt_qy(mid)<=__x) xr=mid, l=mid+1;
else r = mid-1; 

l = 0, r = m, yl = m+1; 
while (l <= r) { mid = (l+r)>>1; 
if (y + ybt_qy(mid)>=_y) yl=mid, r=mid-1; 
else l = mid+1; 

l = 0, r = m, yr = -1; 
while (l <= r) { mid = (l+r)>>1; 
if (y + ybt_qy(mid)<=__y) yr=mid, l=mid+1; 
else r = mid-1; 

tl = max(xl, yl), tr = min(xr, yr); 
if (tl < 1) tl=1; if (tr > m) tr = m; 
if (tl > tr) return; 
abt_ad(tl, 1) , abt_ad(tr+1, -1); 
}
int main() { 
freopen("particle.in", "r", stdin); 
freopen("particle.out", "w", stdout); 
in(n), in(_x), in(_y), in(__x), in(__y);//读入 
REP(i, 1, n) in(px[i]), in(py[i]); 
in(m); REP(i, 1, m) {
in(qy[i].tp), in(qy[i].l), in(qy[i].r); 
if (qy[i].tp != 3) in(qy[i].d); 
qy[i].tm = i, lod[i]=i, rod[i]=i; 

sort(lod+1, lod+1+m, lcmp);
sort(rod+1, rod+1+m, rcmp); 
int x, y, li=0, ri=0;
REP(i, 1, n) { x=px[i], y=py[i];  
while (li < m && qy[lod[li+1]].l<=i) come(qy[lod[++li]]);
contribute(x, y); 
while (ri < m && qy[rod[ri+1]].r<=i) leave(qy[rod[++ri]]);

REP(i, 1, m) if (qy[i].tp==3) printf("%d\n", as2[i]-as1[i]); 
return 0; 
}

扫描线+树状数组*3+差分**3+二分+双排序离散+3重判定

这个码理解了,思维层次就会上升很大的一个高度、

理解难度直逼TA 的 running

模拟推了好几遍(ps:模拟代码真的不是理解代码的一个好方法)

读着都快哭了、、

2017.3.1 xiaoyimi测试相关推荐

  1. 诸暨软件测试,诸暨市2017年中考体育测试项目测试规范及评分标准

    诸暨市2017年中考体育测试项目测试规范及评分标准 日前,诸暨市教育局公布了明年中考体育测试规范及评分标准.根据通知要求,2017年中考体育测试继续采用机考模式,球类项目(篮球运球上篮.排球垫球.足球 ...

  2. 2017.4.17------软件测试的艺术+整理以前的摘记

    2017.4.17 以下内容来自<软件测试的艺术> 第1页--14页.供自己学习使用.   第一章 软件测试:就是一个过程或一个系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其 ...

  3. 在现有的Visual Studio 2017中设置和测试Python环境

    目录 介绍 背景 设置Python环境 结论 介绍 根据Stack Overflow开发者调查,在2018年,Python成为最受欢迎的语言列表.Python是用于机器学习.Web开发和数据科学的跨平 ...

  4. 2017.10.2 loli测试

    T1+T2 200  T3惨遭爆零 所有回文串都是中心对称的,所以只要不存在长度为2的和长度为3的即可 排列组合可知 ans=(m)*(m-1)*(m-2)^(n-2) 码: #include< ...

  5. 2017.8.10 loli 测试

    在发现顺序错误之后 ., rk2 (rk1   qzh太(chao)强(ti)了(jie) ) 而lzz的题解非常诡异,竟然要用gcd .' 而我似乎暴力枚举就过了(注意操作顺序,不要太自信). #i ...

  6. 2017.8.8 loli测试

    太难了不会 #include<algorithm> #include <iostream> #include <stdlib.h> #include <str ...

  7. 2017.4.22 loli测试

    冒着爆零的风险rank1了.. 非常看脸的T1得了50,结果正解也是要看脸的... T2是计数原理分组dp...爆零 T3的题答丧心病狂..只有10 题答就不截了.

  8. 2017.4.2 loli测试

    全当攒rp了. 其实这个题是A了的 写的也是正解    然而喜闻乐见的写残了    又一次倒在正解门口 没加前缀和优化,,,没加n=m的特判,挂成了50... 非常失败' 码: #include< ...

  9. 2017.3.12 lzy 测试

    第一题: 个人做的第4个网络流题,很幸运的A了 这是比较直观的网络流建模题了: #include<iostream> #include<cstdio> using namesp ...

最新文章

  1. 香港中文大学(深圳)罗元教授招收计算机与信息工程全奖博士
  2. Android’s PreferenceActivity for all API versions
  3. [html] 如何在页面引用外部的html页面?
  4. YII2 服务器验证码不显示
  5. sql删除快还是update快_下班回家,是骑自行车减肥快还是走路减肥快?
  6. MySQL(一)存储引擎
  7. url参数拼接 php,PHP解析url并得到url参数方法总结
  8. 计算机中的类型,计算机中各种件文的类型及其作用.doc
  9. Python实现空间直角坐标转高斯克吕格平面坐标
  10. TKMybatis的使用大全和例子(example、Criteria、and、or)
  11. dw自动生成html,如何用Dreamweaver快速创建HTML代码
  12. 小米手机隐私相册在哪?将你的照片锁进“保险柜”
  13. Excel中的单元格引用
  14. 淘宝新店如何提升店铺排名
  15. 脂肪肝青睐“三围”人士 不吃早餐容易诱发
  16. java 中Shallow Heap与Retained Heap的区别
  17. 没有大数据就没有智慧城市
  18. CRM系统中的线索、客户、联系人、商机
  19. 《道德经》的三个重要版本
  20. Oracle之cmd 常用命令

热门文章

  1. Spark生态圈及安装
  2. axure命令行_axure怎么做计算器
  3. 【python】lambda函数
  4. 用PaddlePaddle(飞浆)实现车牌识别
  5. SQL Server IN语句使用举例
  6. linux 巡检手册,服务器设备系统巡检标准手册.doc
  7. oracle10 64位odbc,图文教你64位win10添加oracle odbc驱动时提示无法加载oracle如何解决...
  8. winform防止sqlserver注入_ASP.NET Core 中的 依赖注入介绍
  9. 怎么实现两周联动加减速_LOL:野辅联动成版本主旋律,三大辅助对线游走兼备...
  10. 0分配不到地址_图解 Go 内存分配器