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

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

二分

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. Kafka 入门(三)--为什么 Kafka 依赖 ZooKeeper?

    一.ZooKeeper 简介 1.基本介绍 ZooKeeper 的官网是:https://zookeeper.apache.org/.在官网上是这么介绍 ZooKeeper 的:ZooKeeper 是 ...

  2. PHP array_udiff() 函数

    实例 比较两个数组的键值(使用用户自定义函数比较键值),并返回差集: <?phpfunction myfunction($a,$b){if ($a===$b){return 0;}return ...

  3. PHP current() 函数

    实例 输出数组中的当前元素的值: <?php$people = array("Peter", "Joe", "Glenn", &quo ...

  4. PHP date_parse() 函数

    ------------恢复内容开始------------ 实例 返回一个包含指定日期的详细信息的关联数组: <?phpprint_r(date_parse("2013-05-01 ...

  5. PHP addChild() 函数

    实例 给 body 元素和 footer 元素添加一个子元素: <?php$note=<<<XML<note>高佣联盟 www.cgewang.com<to& ...

  6. 小程序中 radio 的一个坑,到底 checked 该赋什么值?

    https://blog.csdn.net/henryhu712/article/details/83059365

  7. 分析"傍富婆发财"

    视频地址https://www.bilibili.com/video/BV1pZ4y1u7jf 半佛 被富婆阿姨毒打的原因: 1.地位不对等导致工具化 资源不对等的情况下,尤其是一方极度依赖另一方资源 ...

  8. c语言学习笔记之typedef

    这是我觉得这个博主总结的很好转载过来的 原地址:https://blog.csdn.net/weixin_41632560/article/details/80747640 C语言语法简单,但内涵却博 ...

  9. Java异常机制,自定义异常以及spring boot异常设计方案

    异常机制: 异常概念 异常分类 异常的处理方法 自定义异常 springboot 的异常解决方案

  10. PB级大规模Elasticsearch集群运维与调优实践

    导语 | 腾讯云Elasticsearch 被广泛应用于日志实时分析.结构化数据分析.全文检索等场景中,本文将以情景植入的方式,向大家介绍与腾讯云客户合作过程中遇到的各种典型问题,以及相应的解决思路与 ...