今天练了二分和快速幂,题目挺难的,挑几个我做上的说一下吧。

先给出几个二分和快速幂的模板函数;

二分

void BS(int m)
{
int x=,y=a[m-]-a[];
while(y-x>)
{
int mid=(x+y)/;
if(judge(mid))
x=mid;
else
y=mid;
}
cout<<x<<endl;
}

快速幂

LL PowerMod(LL a, LL b)//a^b
{
LL ans = ;
while (b > )
{
if (b & )
{
ans = (ans*a) % MOD;
}
b >>= ;
a = (a*a) % MOD;
}
return ans;
}

矩阵乘法加矩阵快速幂取模

struct mat
{
ll a[][];
};
mat mat_mul(mat x,mat y)
{
mat res;
memset(res.a,,sizeof(res.a));
for(int i=;i<;i++)
for(int j=;j<;j++)
for(int k=;k<;k++)
res.a[i][j]=(res.a[i][j]+x.a[i][k]*y.a[k][j])%MOD;
return res;
} void mat_pow(int n)
{
mat c,res;
c.a[][]=c.a[][]=c.a[][]=;
c.a[][]=;
memset(res.a,,sizeof(res.a));
for(int i=;i<;i++) res.a[i][i]=;
while(n)
{
if(n&) res=mat_mul(res,c);
c=mat_mul(c,c);
n=n>>;
}
printf("%I64d\n",res.a[][]);
}

A  POJ 2456

这道题就是二分,但是二分检验的地方比较有趣,全部贴上来,那个judge函数我想了一阵子。。。(比较笨)。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
#include <string>
#include <map>
#include <vector>
#include <set>
#include <queue>
using namespace std;
int a[];
int m,n;
bool judge(int d)
{
int fir,last=;
for(int i=;i<n-;i++)
{
fir=last+;
while(fir<m&&a[fir]-a[last]<d)
fir++;
if(fir==m)
return false;
last=fir;
}
return true;
}
void BS(int m)
{
int x=,y=a[m-]-a[];
while(y-x>)
{
int mid=(x+y)/;
if(judge(mid))
x=mid;
else
y=mid;
}
cout<<x<<endl;
} int main()
{ cin>>m>>n;
for(int i=;i<m;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+m);
BS(m);
return ;
}

ACM study day3的更多相关文章

  1. ACM STUDY

    ACM学习<二>   穷举算法思想:     一句话:就是从所有可能的情况,搜索出正确的答案. 步骤:     1.对于一种可能的情况,计算其结果.     2.判断结果是否满足,YES计 ...

  2. Java Study day3

    Day 2 遗留问题: cmd javac编译和 java执行 程序输出Hello World 遗留问题解答: 首先使用Txt记事本写一个后缀为.java的HelloWorld.java程序,直接复制 ...

  3. json-lib的使用《二》

    上篇文章主要集中在了使用json-lib来实现JSON字符串和java中的对象的互转上,忽视了json-lib本身的功能,json-lib中有两个类比较重要:JSONObject和JSONArray, ...

  4. JSON字符串和java对象的互转【json-lib】

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  5. JSON 与 对象 、集合 之间的转换

    JSON字符串和java对象的互转[json-lib]   在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很 ...

  6. 关于JSON 与 对象 、集合 之间的转换

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  7. Json-lib 进行java与json字符串转换之二

    二.list和json字符串的互转 list-->>json字符串 public static void listToJSON(){ Student stu=new Student(); ...

  8. Json-lib 进行java与json字符串转换之一

    这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下. 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.J ...

  9. Java中JSON字符串与java对象的互换实例详解

    这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...

随机推荐

  1. ken桑带你读源码 之scrapy

    开篇声明 文章讲解源码不一定从入口开始   主题更注重 思路讲解以及核心函数   ok?  废话到此为止 /scrapy/downloadermiddlewares/  文件夹下是下载器的 中间件  ...

  2. Django学习路29_css样式渲染 h3 标签

    在 static 静态文件夹下创建 css 文件夹 home.css 此时 home.css 路径是 'static/css/home.css' 在 对应的 home.html 文件中添加 css 样 ...

  3. SELECT within SELECT Tutorial -- SQLZOO

    SELECT within SELECT Tutorial 注意:where语句中对表示条件的需要用单引号, 下面的译文使用的是有道翻译如有不正确,请直接投诉有道 01.List each count ...

  4. PHP strstr() 函数

    实例 查找 "world" 在 "Hello world!" 中是否存在,如果是,返回该字符串及后面剩余部分: <?php echo strstr(&qu ...

  5. JDBC(1)-数据库连接和CRUD操作

    关于jdbc的全部jar包 链接:https://pan.baidu.com/s/1peofgu89SpepTTYuZuphNw 提取码:vd5v 一.获取数据库连接 1. Driver接口介绍 ja ...

  6. 2020牛客暑假多校训练营 第二场 G Greater and Greater bitset

    LINK:Greater and Greater 确实没能想到做法. 考虑利用bitset解决问题. 做法是:逐位判断每一位是否合法 第一位 就是 bitset上所有大于\(b_1\)的位置 置为1. ...

  7. 获取判断IE版本 TypeError: Cannot read property 'msie' of undefined

    注意:以下方法只适用于IE11 以下: TypeError: Cannot read property 'msie' of undefined jquery1.9去掉了 $.browser  所以报错 ...

  8. [转]Nginx介绍-反向代理、负载均衡

    原文:https://www.cnblogs.com/wcwnina/p/8728391.html 作者:失恋的蔷薇 1. Nginx的产生 没有听过Nginx?那么一定听过它的"同行&qu ...

  9. Sharding-JDBC实现垂直拆分

    参考资料:猿天地  https://mp.weixin.qq.com/s/wl8h6LIQUHztVuVbjfsU3Q  作者:尹吉欢 当一个项目量增大,数据表数量增多时,就需要对数据表进行垂直拆分, ...

  10. 《第22条军规》Catch-22

    也许我们能注意到,英语里“军规”和“圈套”是同一个词. <第二十二条军规>是约瑟夫·海勒的代表作,小说以第二次世界大战期间驻扎在皮亚诺扎岛上的一支美国飞行队为背景,描写飞行员约瑟连(YOY ...