算法
sususu814
焓变为负熵变为正。
展开
-
大数算法
高精度模版为什么需要高精度?因为无论是int 还是long long 能存储的位数都是有限制的。当面对特别大的数时候就会出溢出情况。因此我们需要一种方法去存放任意长度的数字。数组就是我们解决问题的关键。高精度的实现一般有string、或int[](int 型数组)。在用int[]的时候我们可以实现压位操作,把4个数字甚至8个数字放到一个int里,这样可以增加我们的存贮效率高精...原创 2020-03-24 18:03:34 · 258 阅读 · 1 评论 -
训练赛:约束判定
洛谷:程序自动分析原题由题可知,并查集维护一下约数关系,i,j{i,j}i,j太大了离散化一下就OK了(不懂的右转百度:并查集、离散化)。输入数据较多不要用cin,超时警告#include<iostream>#include<algorithm>#include<stdio.h>#include<string.h>#define maxn...原创 2019-10-27 22:23:51 · 147 阅读 · 0 评论 -
棋盘
Description在一个4×44×44×4的棋盘上有8个黑棋和8个白棋,当且仅当两个格子有公共边,这两个格子上的棋是相邻的。移动棋子的规则是交换相邻两个棋子。给出一个初始棋盘和一个最终棋盘,请找出一个最短的移动序列使初始棋盘变为最终棋盘。Input 前四行,每行4个数字(1或者0),描述了初始棋盘;接着是一个空行;第六到第九行,每行4个数字(1或者0),描述了最终棋盘。Ou...原创 2019-10-27 22:05:25 · 500 阅读 · 0 评论 -
训练赛:跳伞
跳伞Description一群肥宅找不到小姐姐当cp了,觉得人生没有希望干脆重来算了所以他们决定跳天台。楼下的地上有一个靶子,靶子有十个同心环,半径分别为20,40,60,80,100,120,140,160,180,200如果肥宅的落点所在最小环(可以在环上)的半径是20⋅(11−m)20⋅(11−m)20⋅(11−m),那么这个肥宅的人生价值就是m。如果肥宅落在了最大的环以外那么就...原创 2019-10-27 21:50:12 · 215 阅读 · 0 评论 -
训练赛:约数个数之和
题目描述:求 ∑i=1nf(i)\sum_{i=1}^n f(i)∑i=1nf(i) ,f(i)f(i)f(i) 表示iii的因子个数。即,求1到n1到n1到n所有因子的个数和。由于nnn最大到10610^6106因此,暴力就不用考虑了。不难发现:1作为因子出现了n次。()2作为因子出现了n/2次。(2,4,6,8,10…,n)3作为因子出现了n/3次。(3,6,9,12,14…,...原创 2019-10-27 21:28:02 · 170 阅读 · 0 评论 -
hdu4460最短路
hdu4460据说卡spfa的队列,但额可能我运气比较好。#include<bits/stdc++.h>#include<cstdlib>#include<cstdio>#define maxn 100005#define INF 0x3f3f3f3f#define ll long longusing namespace std;const ...原创 2019-08-31 03:15:26 · 329 阅读 · 0 评论 -
PAT甲1003最短路
PAT甲级1003最短路PAT还有10天要去深圳走一遭了,临阵突击一波,wa了好多发,难受。明天又是ICPC网络赛,感觉很GG,今年希望别再打铁。#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define maxn 505using namespace std;int n,m,st,ed;int G[maxn][maxn];...原创 2019-08-31 03:08:34 · 117 阅读 · 0 评论 -
第十届蓝桥B组:等差数列
第十届蓝桥B组:等差数列思路: 排个序,做差,求最大公因子#include<bits/stdc++.h>#define maxn 200005#define INF 0x3f3f3f3f#define mst(a) memset(a,0,sizeof a)#define ll long longusing namespace std;//题号:等差数列 int A...原创 2019-03-24 15:39:11 · 304 阅读 · 1 评论 -
dfs和bfs的常见套路
dfs迷宫问题联通块问题排列问题关于枝剪:寻找枝剪特征,以枝剪特征为依据去枝剪可行性枝剪 (上下界)最优性枝剪记忆化dfs的缺陷:不达底部不罢休!例题:房间里放着n块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处。输入:41 11 -1-1 1-1 -1输出:7.41#include<bits/stdc+...原创 2019-03-23 14:01:49 · 645 阅读 · 0 评论 -
第十届蓝桥杯B组题解:完全二叉树的权值
蓝桥题解:完全二叉树的权值【问题描述】给定一棵包含N 个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是A1, A2, … AN,现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。注:根的深度是1。【输入格式】第一行包含一个整数N。第二行包含N 个整数A1, A2, ...原创 2019-03-25 12:09:57 · 1561 阅读 · 0 评论 -
第十届蓝桥杯B组题解:数列求值
蓝桥题解:数列求值给定数列1, 1, 1, 3, 5, 9, 17, …,从第4 项开始,每项都是前3 项的和。求第20190324 项的最后4 位数字。取最后4位数,显然考模运算#include<bits/stdc++.h>using namespace std;//题号:试题C: 数列求值int A[20190400];int main(){ A[1] ...原创 2019-03-25 11:42:11 · 1144 阅读 · 0 评论 -
第十届蓝桥杯B组题解:年号字串
蓝桥题解:年号字串(进制转换)小明用字母A 对应数字1,B 对应2,以此类推,用Z 对应26。对于27以上的数字,小明用两位或更长位的字符串来对应,例如AA 对应27,AB 对应28,AZ 对应52,LQ 对应329。请问2019 对应的字符串是什么?易知这是个10进制转26进制的问题,Z可以看成是 A 0答案:BYQ#include<bits/stdc++.h>u...原创 2019-03-25 11:34:23 · 2302 阅读 · 1 评论 -
暴力、二维的前缀和:最大子矩阵
最大子矩阵题目链接:最大子矩阵思路 :构造一个二维的前缀和,然后暴力#include<bits/stdc++.h>#define maxn 205#define INF 0x3f3f3f3f#define go(i,l,r) for(int i=l;i<=r;++i)#define down(i,l,r) for(int i=l;i>=r;--i)#de...原创 2019-03-17 21:34:49 · 376 阅读 · 0 评论 -
刷书笔记5:二分模板
二分模板二分的使用条件: 有序,顺序存储时间复杂度 : log(n)二分查找利用二分的思想我们可以再log(n)的时间复杂度内在n个数中找出我们想要的数模板1:数据结构书中的模板,//二分 ,若存在返回下标,不存在返回-1int bins(int key){ int l = 1, r = n; while(l&amp;lt;=r) { int mid...原创 2019-02-27 07:10:04 · 117 阅读 · 0 评论 -
01背包模板题
01背包01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f【i】【j】 = ...原创 2019-03-05 21:44:39 · 795 阅读 · 0 评论 -
素数相关
素数素数筛线性时间内找出 2~num的所有素数bool check[maxn];//0是素数int prime[maxn];// 存素数int getprime(int num){ int pos=0; int flag; memset(check,0,sizeof(check)); memset(prime,0,sizeof(prime)); ...原创 2019-02-27 21:57:04 · 160 阅读 · 0 评论