自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 POJ-3436 ACM Computer Factory

As you know, all the computers used for ACM contests must be identical, so the participants compete on equal terms. That is why all these computers are historically produced at the same factory.Ever...

2018-06-06 01:18:20 186

原创 POJ-3687 Labeling Balls

不一样的拓扑排序 给定一些标记为1到n的数, 求出满足a < b 的序列, 如果有多个输出, 按先标签1往前的位置, 然后按标签2往前的位置, 对于每个标签, 位置都尽量往前。 因为位置要往前,就不能正向建图, 因为正向的拓扑每次在最前的都是最小的点, 并不能保证标签1也在最前面, 比如 1 5 3 4 2 和 1 4 5 3 2 如果按拓扑排序, 答案一定是1 4 5 3 2...

2018-05-09 01:48:56 103

原创 Problem C: 数论只会gcd

Problem C: 数论只会gcd Description 在112实验室的众多大佬中,有一个叫V巨巨的牛*人物,他和一个叫Q巨巨的大佬是死对头,于是他们之间进行了一场生死较量,他们定下的规则是这样的:Q巨巨给出N个非负整数,V巨巨需要给出这N个非负整数的最大公约数;如果V巨巨给出的答案是正确的,那么他就会得到Q巨巨的py优先权;如果V巨巨给出的答案是错误的,那么Q巨巨就会对V巨巨进...

2018-05-07 19:10:25 429

原创 hdu 4549 M斐波那契数列

代码:#include<map>#include<queue>#include<string>#include<math.h>#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm&amp

2018-04-30 23:18:53 98

原创 HDU 4686 Arc of Dream

a(n) = ax * a(n-1) + ay;b(n) = bx * b(n-1) + by;a(n) * b(n) = (ax * a(n-1) + ay) * (bx * b(n-1) + by); = ax * bx * a(n-1) * b(n-1) + ax * by * a(n-1) + ay *...

2018-04-30 23:18:47 97

原创 FZU 1911 Construct a Matrix

利用矩阵sum(n) [1 1 1] sum(n-1)fib(n) = [0 1 1] * fib(n-1)fib(n-1) [1 1 1] fib(n-2)算出斐波那契数列的前n项和r 如果r是奇数, 就不能构造 如果r是偶数,就可以构造 将左上角全部放1, 右下角全部放-1, 对角线上1 ,0交替放置 就可以得到...

2018-04-25 02:44:31 87

原创 Codeforces 385E Bear in the Field

由公式!! dx, dy中 +2 是因为讲1, 2, 3的坐标转化成0, 1, 2, 便于计算 sx(n) = sx(n-1) + dx(n-1);sy(n) = sy(n-1) + dy(n-1);dx(n) = sx(n-1) + sy(n-1) + 2;dy(n) = sx(n-1) + sy(n-1) + 2;t(n) = t(n-1) + 1;化简得sx(n) =...

2018-04-25 02:40:40 136

原创 Codeforces 392C Yet Another Number Sequence

转#include<map>#include<queue>#include<string>#include<math.h>#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>#

2018-04-25 02:25:36 128

原创 hdu 4565 So Easy!

公式推演: 转代码:#include<map>#include<queue>#include<string>#include<math.h>#include<stdio.h>#include<string.h>#include<iostream>#include<algorit

2018-04-25 02:23:43 94

原创 UVA 1386 cellular automaton(循环矩阵想乘)

原本应该构造如下矩阵: [1 1 0 0 1] [1 1 1 0 0] [0 1 1 1 0] [0 0 1 1 1] [1 0 0 1 1] 然后行列只差了一个位置,就是循环矩阵 用循环矩阵只需要矩阵的第一行,就可以得到整个矩阵 用循环矩阵做乘法复杂度从O(N^3) 降低到 O(N^2)代码:#include<stdio.h>#include&l...

2018-04-25 02:18:21 108

原创 UVA 10655 Contemplation! Algebra

给定p, q和n,其中存在 a + b = p, a * b = q, 要求a^n + b^n 代码:#include<stdio.h>#include<string.h>#include<algorithm>typedef long long int ll;using namespace std;ll p, q, n;const...

2018-04-25 02:15:29 89

原创 UVA 11149-Power of Matrix(等比矩阵求和)

给定一个矩阵A 要求A + A^2 + A^3 +…. A^k; 对于到n的等比矩阵求和 如果n是偶数: 如果n是奇数: 代码:#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxn = 45;in...

2018-04-25 02:12:12 355

原创 hdu 4965 Fast Matrix Calculation

给定两个矩阵A(n * k)和B(k * n) 求(AB)^(n * n - 1) 由于n很大,k很小 则可以用 (AB)^n=A*(BA)^(n-1)^B 转化代码:#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int ...

2018-04-25 02:05:31 101

原创 HDU 4990 Reading comprehension

题意可以理解成if(n & 1) { f(n) = (2 * f(n-1) + 1) % mod;} else { f(n) = (2 * f(n)) % mod;}则对于每一个nif(n & 1) { f(n) = (2 * f(n-1)) % mod; = (f(n-1) + (2 * f(n-2) + 1)) % m...

2018-04-25 02:02:11 128

原创 HDU 5015 233 Matrix --矩阵快速幂

给定一个矩阵第一行是0,23,233,2333…. 给定第一列的各个值,求矩阵第n行第m列的数的值是多少。 对于矩阵a a(i, j) = a(i-1, j) + a(i, j-1); 讲第一行第一列的0看成20 则第i列的第j个元素可以看成 a(i, j) = a(i-1, j) + a(i, j-1) = a(i-1, j) + a(i-1, j-1) + a(...

2018-04-25 01:55:16 98

原创 HDU4738 Caocao's Bridges

无向图有重边的tarjan算法 接收数据是把每条边的权值保存起来 有重边的tarjan算法要判断走重边时的low值 然后找出最小权值的桥 另外三个注意点: 1、原本不是一个强联通图的话,派的人是0 2、如果不存在桥的话,输出-1 3、如果桥的最小权值是0,则至少派一个人去炸桥#include<stdio.h>#include<string.h>#i...

2018-04-06 01:07:01 83

原创 HDU4635 Strongly connected

给定一个有向图 求最多可以加多少条边 使加了边以后还是一个有向图而不是强联通图 由于不是一个强连通图,那么至少要有两个连通块。 也就是只有两个连通块时,加的边是最多的。 设有两个连通块 一个里有x个点,另一个里有个y个点 则第一个连通块中的路最多可以使x*(x-1) 第二个连通块中的路最多可以使y*(y-1) 两个连通块之间的路最多可以是(x*y) 那么一共可以连成x * (x-...

2018-04-05 22:13:54 108

原创 Hdu4612 Warm up

做这题是噩梦的一天…. 先用tarjan缩点求出各个强联通块并且找出桥数 要求连一条边后得到的剩余最小的桥 所以要找一条路能达到的最深的路径 则ans = bridge - maxdeep 先用spfa的dfs找出能达到的最大深度 然后从最大深度开始搜索最大的深度 最后相减就是答案#include<stdio.h>#include<string.h>...

2018-04-05 22:05:00 100

原创 Uva796 Critical Links

用tarjan缩点 然后用dfn[u] < low[v]缩点并且保存起来 在sort一遍输出#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxn = 10000;struct Node { int ...

2018-04-05 21:57:59 169

原创 UVA315 POJ1144 Network

tarjan求割桥 先将图缩点 然后用dfn[u] <= low[v] 求出缩点的数量 对于第一个节点 如果有两个伸出去的根 就说明第一个也是割点#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxn = 1005...

2018-04-05 21:54:09 159

原创 POJ 3694 Network

tarjan+LCA。 先用tarjan进行缩点。 然后用dfn[u] < low[v]判断是不是桥。 讲桥标记起来并且计算出桥数。 对于每个案例的u和v 利用LCA用fath数组先找到u和v的祖先,如果在路径中出现的桥,就把桥标记成普通边并将桥数–。 然后输出对应的桥数#include<stdio.h>#include<string.h>#i...

2018-04-05 21:50:04 70

原创 POJ1236 Network of Schools

tarjan裸题 先用tarjan缩点 然后找出每个连通块的入度和出度 入度为0的连通块就是taskA需要的和别的连通块连接的数量 入度和出度为0的连通块中最大值就是需要taskB的添加ans条边可以让全图都是一个强连通块 如果原先就是强联通块,则特判#include<stdio.h>#include<string.h>#include<algo...

2018-04-05 21:39:27 71

原创 POJ3177 Redundant Paths

给定一个无向图,求最少需要多少边可以让这个无向图里两两点之间都有两条路可以走。 先tarjan算法进行缩点,得到一颗无向树 对于无向树中非叶子结点,只要叶子结点连通了,就都有两条路可以走 所以变成了需要多少条边可以把所以叶子结点连通 当叶子结点是奇数时 答案就是ans =(ans)/ 2 + 1 当叶子结点是偶数时 答案就是ans =(ans)/ 2 所以ans = (ans + 1)...

2018-04-05 18:37:01 108

原创 食物链 POJ - 1182

并查集中向量的关系 大佬的博客#include<stdio.h>#include<string.h>struct node { int fath; int rela;};node ani[50005];int find(int x) { int tmp; if(ani[x].fath == x) return x; else {

2018-04-01 00:49:27 64

原创 HDU1042 N!

求大数N的阶乘up判断进位的数 digit代表答案数组中有多少数 对于需要比较少的时间 每个ans[] 存4个数从2到n 连续相乘最后倒序输出 0-11之间 输出000%d 10-99 输出00%d 100-999 输出0%d 1000-9999 输出%d#include&lt;stdio.h&gt;#include&lt...

2018-04-01 00:30:38 119

原创 大步小步算法

大步小步算法 求a^x=b(modc)中x的最小值 博客1 博客2

2018-03-31 18:10:47 689

原创 Children's Day.

Today is Children’s Day. Some children ask you to output a big letter ‘N’. ‘N’ is constituted by two vertical linesand one diagonal. Each pixel of this letter is a character orderly. No tail blank is ...

2017-12-25 00:38:21 419

原创 A+B

话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。 这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。 现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。 Input 本题目包含多组测试数据,请处理到文件结束。 每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。Output ...

2017-12-17 01:19:11 378

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除