- 博客(25)
- 收藏
- 关注
原创 C - One Person Game ZOJ - 3593(拓展欧几里得)
首先要把欧几里得弄清楚,要不很难弄的·········ax + by = c;计算出的为 ax + by = gcd(a,b);r = gcd(a,b)所以要求真正的x,y则需要乘上 c/gcd(a,b);然后x,y求的是其中一组解它的一系列解为 X = x + bt;Y = y - at;a = a/r,b = b/r; 这样得出的x,y的解更多,更全面然后··········...
2019-05-03 19:14:13
302
原创 打板拓展欧几里得
计算ax + by = gcd(a,b)是一对x ,y拓展 ax + by = c(c必须为gcd(a,b)的倍数)int exgcd(int a,int b,int &x,int &y){ if(b == 0) { x = 1; y = 0; return a; } int gcd = exgc...
2019-04-22 22:04:17
130
原创 I - People Counting ZOJ - 3944
题意为:一个小人的姿势如图形所示,他可能遮挡,矩阵截取的是照片的某部分,问一共有多少人,每个人不可能完全遮挡一开始没读懂题然后以为第二个样例有个人在倒着,hhhh然后就不会想了,emmm然后后来zbl纠正了我的错误,每个人的姿势相同,所以都是正的,后来想出了正确的思路,然后没打完,emmm然后就想验证一下自己的思路是否正确嘤—对了(正确的思路为循环没出现一个,把他应该还属于这个姿势的部位...
2019-04-17 22:05:56
211
1
原创 贪心Thanks, TuSimple!
题意为:男的找比他矮的或比他高的,女的要找比他矮的或比他高的,0代表找个矮的,1代表找个高的计算最大配对数贪心找到匹配首先 男女肯定要不是01 或者10,这个是必须的然后在寻找符合条件的,当然要从小到大排序一个一个找,如果找到匹配的,下一个人一定在他找到的那个人的后面找,这样才能找到最大匹配数代码如下#include<iostream>#include<cstdio&...
2019-04-15 21:03:53
195
原创 嘤嘤嘤·
输入输出挂(一般用于大量输入输出···········) //输入正负整数 void in(int &m) { char ch; int flag = 0; while((ch = getchar()) < '0'|| ch > '9' ) { if(ch == '-')...
2019-04-15 20:30:11
245
原创 二分重打~E - Pie HDU - 1969 G - Can you solve this equation? HDU - 2199
http://acm.hdu.edu.cn/showproblem.php?pid=1969提议为n个人分f块蛋糕,而且每个人只能从一个蛋糕中一块,问每个人分得的最大蛋糕的面积二分 从中间向左右查找最大值#include<iostream>#include<cstdio>#include<algorithm>using namespace std;...
2019-04-12 20:05:58
145
原创 poj 2367 Genealogical tree
拓扑排序题意为出入n行第i 行 为第i个人生的孩子(已零结束)从老到小排列这n个人代码如下emmm和sdnu的那个差不多#include<iostream>#include<cstdio>#include<algorithm>#include<vector>using namespace std;int n,x,c[105],o...
2019-03-31 20:37:35
142
原创 sdnu 1089 拓扑排序
sdnu 1089 拓扑排序emmm题意写的很清楚。。。。何时能拓扑排序呢?当有向图不能按照方向可以形成一个环时就不能拓扑排序了。当排序时肯定都个人是不受其他人限制的,那肯定先用它,即它的入度为零,当他用完了的时候,与它相邻的又向前进了一步,即他们的入度-1,则当他入度为零的时候即不受所有人的限制了,就又可以出去了代码如下#include<iostream>#includ...
2019-03-31 20:29:26
312
原创 Alice and Bob(省赛里的题不是博弈,噗哈哈哈哈)
题意为给了你一个人多项式的式子给你一个p找x的p次方的系数emmmm二进制找规律指数 二进制1 1 (2^0)2 10 (2^1)3 11 (2^1 + 2^0)4 100(2 ^2)……p = 3 时 系数 = a[1]*a[0];(2^1 + 2^0)(上面的权为1,和0)...
2019-03-25 21:30:41
666
原创 Rescue The Princess(数学)
题意:为有一个等边三角形给出了两个点的坐标A(x1,y1),B(x2,y2),让你求C(x3,y3)的坐标,且A,B,C按逆时针排列;开始想运用等边三角形的特有性质列两个方程解出C的坐标,emmm发现并不能行然后真正的解题思路为按角来求先求出AB这条边与x轴所成的夹角的sin(a),cos(a);然后在求AC这条边与x所成夹角的值极为sin(a+60度),cos(a+60度)解出这两个之...
2019-03-25 21:07:56
202
原创 Calendar Game (POJ - 1082)
题意为从一个日子可以跳到下一个日子或者下个月的这一天,看谁先跳到November 4, 2001你看还是找规律,呵呵哒。。。。day+month最终到达的是奇数每次走的都是要不是奇数点要不是偶数点,所以让后者每次走的都是偶数点,那么先者一定能赢,然后还有两个特例(9,30)与(11,30)为奇数开局,并且可以为必胜局。代码如下#include<iostream>#includ...
2019-03-18 21:33:00
148
原创 HDU 1525 Euclid's Gamewhat?(博弈问题,还不是找出规律,呵呵哒。。。。)
HDU 1525 Euclid’s Game题意为大数减去小数的倍数,一直减。一直减,最后谁先减到零谁就赢了。找规律。找出先手一定赢或一定输的规律。后面的进行模拟。那么规律是啥呢设两个数a,b;如果a % b == 0,那么a是b的倍数,先手一定获胜如果 a >= 2*b 先手先变为a%b+b,b ,那么对手只有将这两个数变为 a%b, b,那么a又是b的倍数了先手获胜代...
2019-03-18 21:23:17
256
转载 Play a game (博弈论)
Play a gameNew Year is Coming! ailyanlu is very happy today! and he is playing a chessboard game with 8600. The size of the chessboard is n*n. A stone is placed in a...
2019-03-15 21:23:29
391
原创 D - Boring count HDU - 5056
从后向前找满足条件的最大子串因为当满足条件的最大字串为i那么里面公有i个满足条件的子子串所以只需记录从后向前找的满足条件的最大子串如果找到了没满足条件的那个数那么这个数找到第k次出现的位置数在向前移一位则满足条件ac代码如下运用了vector数组来存储每个字母的个数以用来判断#include<iostream>#include<cstdio>#include...
2019-03-12 20:19:25
104
原创 R - 鬼谷子的钱袋(思维数学)
https://vjudge.net/contest/286678#problem/R题意为给你一个数,把它分割为多少个数能任意组成1-n的所有数二进制思想要选的数一定为1 2 4 8 16 2^k·········一共k+1个数那么为什么呢因为 比如 一个数的二进制某位为 1 2 4 8 16····它一定能任意相加,因为任意的某位能组成任意的能组成任意的二进制数代码如下#...
2019-03-07 19:14:29
255
原创 hide handkerchief HDU - 2104
最大公约数问题真好几行代码搞定还有个库函数直接求最大公约数,真好,还一天天的求什么·····__gcd(a,b)(头文件#include < algoritjm >)emmmm这道题实在不会的话找几个例子试试然后其实就是如果最大公约数大于一的话应该一直走的是圈的倍数,根本不会全部循环过来简单代码如下hhhh#include<cstdio>#include...
2019-03-06 19:30:27
207
原创 回文and素数
有100万个数大约有2000个回文左右根据排列组合判断回文数一位数以内10个(包括零)两位数满足 aa 9个三位数 aba a有九种选择 b有10种选择 即109;四位数 abba a九种选择 b十种选择 910;五位数 abcba a 九种选择 b十种选择 c十种选择 91010=900;以此类推·······https://vjudge.net/con...
2019-03-04 20:04:53
187
原创 bfs学习
bfs开始的基础学习//要用队列1.学bfs的开始油田问题http://acm.hdu.edu.cn/showproblem.php?pid=1241//其实dfs可以的,bfs也可以写,正好学习一下bfs的写法//抄的别人的···········//应该比较好理解#include<bits/stdc++.h>using namespace std;int dir[]...
2019-02-28 19:45:33
285
原创 dfs学习
N皇后问题 HDU - 2553在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放...
2019-02-21 11:58:57
208
原创 最大公约数,最小公倍数代码学习
a b的最大公约数最小公倍数(大学之前学过的方法转化为代码形式)//都是核心代码············1.最大公约数gcd(辗转相除法)int gcd(int a, int b){ return b == 0 ? a : gcd(b, a % b);}//注意代码简化,最大公约数一定和a,b成倍数关系2.最小公倍数 int gcd(int a, int b) ...
2019-02-19 22:58:56
671
原创 有关前缀和的学习
1.用于优化时间复杂度2.一维数组的应用可以这么理解求在区间[l,r]的所有数的和若在某些情况下有可能超时,那么就可以用a[l]表示前l个数的和,a[r]表示前r个和那么a[r]-a[l-1]则为区间[l,r]所有数的和== 应用1==求一串数字中相邻的m个数的和中最小值或最大值即sum[i+m]-sum[i+m-1]为相邻的m个数的和然后遍历找最大值最小值应用2题目如下ht...
2019-02-19 21:59:27
310
原创 全排列函数学习
通俗易懂嗯根据字典序排列的·········1. next_permutation(start,end)//当前排列的下一个排列2. prev_permutation(start,end)//当前排列的上一个排列3. int num[10];4. next_permutation(num,num+10)5. //对num数组中的十个数进行全排列可以演示一下看看他的全排规律//对nu...
2019-01-29 22:16:50
211
原创 优先队列学习
优先队列priority_queue即在队列中排队1.头文件#includeusing namespace std;2.基本格式priority_queue&lt;结构类型&gt;队列名;3.priprity_queuei;.默认的排列为从大到小排列4.结构体的用法在这里表示一下简单写法在这里struct node{ int d,w;};bool operat...
2019-01-29 19:35:03
124
原创 盒子与球实践版之巧分整数
emmm今天做了一道题-----巧分整数(随便做的)结果发现用到了我前天整理的,啊啊啊激动题目如下然后想啊想啊想呀想然后突然想到了我昨天整理的盒子与球问题因为任意两种分法不能相同所以就可以把他插板看成把n个相同小球放入k个相同盒子因为每一份不为零所以相当于无空盒题目如下Description聪明的lg给syc出了一道简单的题目,syc把脑细胞都用光了也不知道该怎么去做,那么请厉害的你...
2019-01-22 15:58:58
276
原创 盒子与球砰砰砰
盒子与球刚刚做了sdnu里的一道题关于盒子与球的,果然想得好复杂,然而一搜hhh,递推,想不到,哭········然后顺便学习一下盒子与球问题吧,但是其他的没有实践操作,谁知道会怎样呢hhhhh1.n个不同小球放m个不同的盒子里,无空盒(递推)(先忽略盒子的不同)用f[n][m]表示n个小球放在m个盒子里的方案数,那么第n个放在第m个盒里分两种情况1.第m空 则放在这里2.第m不空 ...
2019-01-20 14:25:02
466
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人