拖了好久才写的。

【BZOJ2821】接触分块大法。这道题略有点新颖。首先我们先分块。然后统计每块中每一个数出现的个数。

以下是联立各个方块,预处理出第I个方块到第J个方块出现正偶数次数的个数。

for (i=1;i<=s;i++)
{
for (j=i;j<=s;j++)
{
sum[i][j]=sum[i][j-1];
for (k=a[j].l;k<=a[j].r;k++)
{
temp[data[k]]++;
if (!(temp[data[k]]&1)) sum[i][j]++;
else if (temp[data[k]]>1) sum[i][j]--;
}
}
memset(temp,0,sizeof(temp));
}

事实上查询的时候也是和上面类似的。

注意统计零散的点时要和已经预处理好的整数块发生关系。

【BZOJ1189】还是比較水的。先二分一个答案,然后拆点构图。

【BZOJ3060】这是想法题。

——哈哈,看题解的。首先,一条边上假设两个点的编号都大于K。显然我们不须要删。那么倒着做,先所有拆开。然后先把上述的边加上去(并查集)。遇到连上标号小于等于K的点的边——假设两端都在同一连通块。那么这条边必须删;否则合并连通块。

【BZOJ1306】T到要死。!SKYDEC大爷推荐我做。感觉数据范围还是挺小的。然后就被爆了。

首先,有些剪枝是必须加的。比方当前的队伍的分数加上之后比赛*3仍然小于要求的分数就退出等等。

狂T。后来我预处理了一下,用cut[I][J]表示第i个队伍在第J场的时候后面还有属于他的几场。

for (i=1;i<=n;i++)
{
for (j=m;j;j--)
cut[i][j]=cut[i][j+1]+(beat[j].u==i)+(beat[j].v==i);
for (j=1;j<=m;j++)
cut[i][j]=cut[i][j+1];
}

还是T。后来我发现我是枚举到终于才推断全部队是否合法。事实上在每一队的最后一场比赛时我们就能够推断了。A。

【BZOJ1832】真是奇怪的LCA。開始用TARJAN的。后来发现最后验证的时候还要LCA!果断转倍增。

【BZOJ2724】分块好题。

权限题啦啦啦。

【BZOJ1965】数论还是要好好学。搞了半天总算搞懂了扩欧求解同余方程。

LL extend_gcd(LL a,LL b,LL &x,LL &y)
{
if (b==0){x=1;y=0;return a;}
LL temp=extend_gcd(b,a%b,x,y);
LL t=x;x=y;y=t-a/b*y;return temp;
}
int main()
{
scanf("%lld%lld%lld",&B,&b,&n);B++;
A=pow();
extend_gcd(A,B,x,y);
x=x*n%B;
while (x<=0) x+=B;
while (x>B) x-=B;
printf("%lld",x);
return 0;
}

【BZOJ1966】据说是什么AC自己主动机什么的?反正我直接DP使过了。耶!

【BZOJ1967】我用奇怪的贪心使。(见骗分导论)还打了一个点。

  for (i=1;i<=n;i++)
{
t1=(sx>x[i])&&(sy>y[i])&&(sx<x[i]+c[i])&&(sy<y[i]+c[i]);
t2=(tx>x[i])&&(ty>y[i])&&(tx<x[i]+c[i])&&(ty<y[i]+c[i]);
if (t1^t2) ans++;
}

【BZOJ2287】背包。

BZOJ 刷题记录 PART 5的更多相关文章

  1. BZOJ 刷题记录 PART 6

    [BZOJ2709]水的二分加验证.可是好像被读入萎到了... [BZOJ3229]强大的算法见此.被机房的一堆大神"推荐".于是被坑了...写了一个下午... [BZOJ3631 ...

  2. $2019$ 暑期刷题记录1:(算法竞赛DP练习)

    $ 2019 $ 暑期刷题记录: $ POJ~1952~~BUY~LOW, BUY~LOWER: $ (复杂度优化) 题目大意:统计可重序列中最长上升子序列的方案数. 题目很直接的说明了所求为 $ L ...

  3. PE刷题记录

    PE刷题记录 PE60 / 20%dif 这道题比较坑爹. 所有可以相连的素数可以构成一张图,建出这张图,在其中找它的大小为5的团.注意上界的估算,大概在1W以内.1W内有1229个素数,处理出这些素 ...

  4. leetcode刷题记录--js

    leetcode刷题记录 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但 ...

  5. Leetcode刷题记录(python3)

    Leetcode刷题记录(python3) 顺序刷题 1~5 ---1.两数之和 ---2.两数相加 ---3. 无重复字符的最长子串 ---4.寻找两个有序数组的中位数 ---5.最长回文子串 6- ...

  6. 刷题记录:[HarekazeCTF2019]encode_and_encode

    目录 刷题记录:[HarekazeCTF2019]encode_and_encode 一.知识点 JSON转义字符绕过 php伪协议 刷题记录:[HarekazeCTF2019]encode_and_ ...

  7. 刷题记录:[De1CTF 2019]Giftbox && Comment

    目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...

  8. 刷题记录:[强网杯 2019]Upload

    目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...

  9. 刷题记录:[XNUCA2019Qualifier]EasyPHP

    目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...

随机推荐

  1. bzoj2127: happiness(双倍经验最小割)

    2127: happiness 题目:传送门 题解: 双倍经验美滋滋~ 请看蒟蒻以前写的渣题解...bzoj3894 表示做完自己就最小割了... 代码(直接改的...菜啊): #include< ...

  2. 使用isolation forest进行dns网络流量异常检测

    代码如下,测试发现,是否对输入数据进行归一化/标准化对于结果没有影响: import numpy as np from sklearn.ensemble import IsolationForest ...

  3. poj--1789--Truck History(prim)

    Truck History Time Limit: 2000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u Submit ...

  4. [学习笔记]node.js中的path.extname方法

    path.extname 返回path路径文件扩展名,如果path以 ‘.' 为结尾,将返回 ‘.',如果无扩展名 又 不以'.'结尾,将返回空值. path.extname('index.html' ...

  5. 【DotNetNuke介绍】

    简介 DotNetNuke(以下简称DNN)的最终目的是创建一个门户的框架平台,这个平台可以为开发者增添模块搭建应用程序提供坚实的可靠的支持.应用程序的一个关键的功能就是数据存取..NET Frame ...

  6. php文件加载、错误处理、方法函数和数组

    数组运算符注意:php中,数组的元素的顺序,不是由下标(键名)决定的,而是完全由加入的顺序来决定.联合(+):将右边的数组项合并到左边数组的后面,得到一个新数组.如有重复键,则结果以左边的为准$v1 ...

  7. 《转载》编程入门指南 v1.4

    编程入门指南 v1.4 Badger · 8 个月前 作者:@萧井陌, @Badger 自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 CoCode ...

  8. db2部署

    下载地址: wget   ftp://public.dhe.ibm.com/software/hk/cobra/db2exc_970_LNX_x86_64.tar.gz 上传压缩包到/opt,再解压d ...

  9. caioj 1618 【动态规划】矩阵相乘的次数

    刷刷水题压压惊 低级版的能量项链 相当于复习一次中链式dp 这种合并了之后又后效性的题目 都可以用类似的方法做 #include<cstdio> #include<cstring&g ...

  10. CJOI 05新年好 (最短路+枚举)

    CJOI 05新年好 (最短路+枚举) 重庆城里有n个车站,m条双向公路连接其中的某些车站.每两个车站最多用一条公路连接,从任何一个车站出发都可以经过一条或者多条公路到达其他车站,但不同的路径需要花费 ...