摘要:
http://arc061.contest.atcoder.jp/tasks/arc061_b 题意: H行W列的矩阵中,然后挖了n个洞,输出j(0-9)行,对于第i行输出,有多少个3*3区域中有i个洞;思路: 对于一个黑色的格子,只有9个3*3的矩阵才能包含他。 所以只有处理m个...
阅读全文
posted @ 2016-09-12 16:36
see_you_later
阅读(117)
推荐(0)
摘要:
直接暴力1e6就好了#include using namespace std;typedef long long LL;int main(){ LL a,p; int flag; scanf("%lld%lld",&p,&a); flag=0; for...
阅读全文
posted @ 2016-09-11 16:18
see_you_later
阅读(100)
推荐(0)
摘要:
思路: 处理方案非常霸气啊,无奈想不到。 说是n位去m个,那么默认就是取了n-m个数字,ok,然后m#include #include #include #include #include #include #include using namespace std;#define ...
阅读全文
posted @ 2016-09-10 23:40
see_you_later
阅读(112)
推荐(0)
摘要:
思路: 把k*M%N=1可以写成一个不定方程,(k*M)%N=(N*x+1)%N,那么就是求k*M-N*x=1,k最小,不定方程我们可以直接利用exgcd,中间还搞错了; //小小地讲一下exgcd球不定方程原理 对于ax+by=gcd(a,b); 我们设一下a>b,在简单直接把...
阅读全文
posted @ 2016-09-10 10:58
see_you_later
阅读(145)
推荐(0)
摘要:
手动插姿势: 三分法可以应用于凸函数或者凹函数的求极值。 三分讲解:http://blog.csdn.net/pi9nc/article/details/9666627 三分模板:http://www.cnblogs.com/Hilda/archive/2013/03/02/293...
阅读全文
posted @ 2016-09-10 00:06
see_you_later
阅读(216)
推荐(0)
摘要:
题意: 给你两个集合,对于每个B集合的元素,从A集合找一个数使得a^b的二进制的1个数最少。 思路: 直接搞= =#include using namespace std;typedef long long LL;struct asd{ int num; int sum...
阅读全文
posted @ 2016-09-09 20:56
see_you_later
阅读(109)
推荐(0)
摘要:
对于每个数我找一个和他相加最接近独木舟,然后ans+=1;想复杂了,直接两端来就好了。 然后两个相加如果using namespace std;typedef long long LL;const int INF=-0x3f3f3f3f;const int N=1e4+10;int...
阅读全文
posted @ 2016-09-09 20:43
see_you_later
阅读(92)
推荐(0)
摘要:
很基础啊~#include using namespace std;typedef long long LL;const int INF=-0x3f3f3f3f;const int N=1e4+10;struct asd{ int left; int right; ...
阅读全文
posted @ 2016-09-09 17:41
see_you_later
阅读(147)
推荐(0)
摘要:
题意(来自大哥): 有两栋楼,左边一栋,右边一栋,层数从1-n,地面的标号为0,每一层有一个水果。有一只猴子在地面上,他现在要上到n层去,在第i层会吃掉水果花费一定时间。 猴子有两种方式从第i层到i+1层,一种是直接往上跳且不花费时间,另一种是花费一定时间到另一栋楼的同一层,然后花...
阅读全文
posted @ 2016-09-09 10:16
see_you_later
阅读(114)
推荐(0)
摘要:
最短,两半分开走 最长,一边走,比较一下两端就好了。#include using namespace std;typedef long long LL;const int N=5e4+10;int a[N];int n;int m;int main(){ scanf("%d%...
阅读全文
posted @ 2016-09-09 09:28
see_you_later
阅读(125)
推荐(0)
摘要:
思路: 维护一个单调递增的栈,对于栈顶元素#include#include#includeusing namespace std;typedef long long LL;const int N=1e5+10;int main(){ stackq; while(!q.e...
阅读全文
posted @ 2016-09-08 21:58
see_you_later
阅读(121)
推荐(0)
摘要:
题意: 题意:n个数,求某段区间的最小值*该段区间所有元素之和的最大值 思路: 主要参考:http://www.cnblogs.com/ziyi–caolu/archive/2013/06/23/3151556.html 首先我们假设第i个元素是最小的话,那么他的区间是确定的,所以...
阅读全文
posted @ 2016-09-08 21:30
see_you_later
阅读(181)
推荐(0)
摘要:
转自:http://blog.csdn.net/alongela/article/details/8227707 单调栈与单调队列很相似。首先栈是后进先出的,单调性指的是严格的递增或者递减。 单调栈有以下两个性质: 1、若是单调递增栈,则从栈顶到栈底的元素是严格递增的。若是单调递减...
阅读全文
posted @ 2016-09-08 20:41
see_you_later
阅读(131)
推荐(0)
摘要:
思路: 很显然每个连续的序列都是等差数列, 那么我们利用等差数列求和公式。 S=(a1+a1+k-1)k/2=(2·a1+k-1)*k/2;a1是首项,k是个数。 枚举k,首项最小为1,k最大,具体不说了,反正大致就是sqrt(2*n); 枚举量还是在平方以内 题外话: 这题就是没...
阅读全文
posted @ 2016-09-08 19:58
see_you_later
阅读(136)
推荐(0)
摘要:
题意: 略。 思路: n就10而已,没有环,搜一下就好了。。#include using namespace std;typedef long long LL;const int mod=1e9+7;const int N=10+10;const int INF=0x3f3f3f3...
阅读全文
posted @ 2016-09-08 19:09
see_you_later
阅读(122)
推荐(0)
摘要:
题意: 有一种值E=the number of elements where ai > i.比如1 3 2 4,只有3位置是满足的,E=1。然后他会给你一个数组和一个k,问有多少个序列的E=k。 思路: 看到n和k都是1e3我觉得就应该想到n^2的复杂度上去,然后就是dp。不是说d...
阅读全文
posted @ 2016-09-08 19:00
see_you_later
阅读(93)
推荐(0)
摘要:
思路: dp[i][0]代表第i个位置取1,dp[i][1]代表第i个位置取b[i]。#include using namespace std;typedef long long LL;const int N=5e4+10;LL dp[N][2];LL a[N];int main(...
阅读全文
posted @ 2016-09-08 16:24
see_you_later
阅读(87)
推荐(0)
摘要:
具体思路来自相关讨论 给个不太严谨的证明思路: 第一步:证明路径可逆,也就是如果(a, b) -> (x, y)可行,则(x, y) - > (a, b)可行 这个比较直观,只需要分别由(a +b, b) (a, a + b), (a - b, b), (a, a - b)推回(...
阅读全文
posted @ 2016-09-08 10:55
see_you_later
阅读(143)
推荐(0)
摘要:
求和符号 是数学中常用的符号,主要用于求多项数的和,用∑表示。 举例: 累乘符号 读pai,跟圆周率那个π是一样的读法,是希腊字母π的大写,符号表示Π。 举例: 数学期望 首先对于题目你先得保证每次可能结果的概率和结果要算对,或者已知; 如果随机变量只取得有限个值或无穷能按一定次序一一列出,...
阅读全文
posted @ 2016-09-08 09:18
see_you_later
阅读(1620)
推荐(0)
摘要:
思路: 就是先排序,然后对每个取最小的结束时间。#include using namespace std;typedef long long LL;const int N=1e4+10;struct asd{ int x,y;};asd q[N];int n;bool cmp...
阅读全文
posted @ 2016-09-08 09:14
see_you_later
阅读(120)
推荐(0)
摘要:
思路: 按照终点升序,然后遍历一下就好了;#include using namespace std;typedef long long LL;const int N=1e5+10;struct asd{ int x,y;};asd q[N];bool cmp(asd a,as...
阅读全文
posted @ 2016-09-07 19:48
see_you_later
阅读(114)
推荐(0)
摘要:
思路: 尺取,写挫了,debug了半天。#include using namespace std;typedef long long LL;const int N=1e5+10;char ch[N];int vis[1001];int main(){ int s,t; ...
阅读全文
posted @ 2016-09-07 18:43
see_you_later
阅读(132)
推荐(0)
摘要:
思路: 自己的一点心得:中间矩阵为最终矩阵。 搞出来很简单的;#include using namespace std;const int N=1e2+10;const int mod=7;struct asd{ int num[3][3];};asd mul(asd a,a...
阅读全文
posted @ 2016-09-05 23:24
see_you_later
阅读(98)
推荐(0)
摘要:
思路: 中间矩阵等于结果矩阵。 很简单的一题。#include using namespace std;const int N=1e2+10;const int mod=7;struct asd{ int num[3][3];};asd mul(asd a,asd b){ ...
阅读全文
posted @ 2016-09-05 23:10
see_you_later
阅读(107)
推荐(0)
摘要:
题意: 算从左往右的值,先乘后加的值,数的范围using namespace std;const int N=1e2+10;int zhi[N];char s[N];int main(){ int n; while(~scanf("%s",s)) { ...
阅读全文
posted @ 2016-09-05 22:36
see_you_later
阅读(159)
推荐(0)
摘要:
思路: 大数分解k的质因子,然后质因子会有重复的,用排列组合n!/(a1!·a2!···ak!),n代表总个数,ai代表各个质因子的个数,质因子个数最大不会超过63个。 大叔分解质因子引用我bin模板。 code…..#include#include#include#include...
阅读全文
posted @ 2016-09-04 22:46
see_you_later
阅读(238)
推荐(0)
摘要:
思路: 利用一个map记录初始的,利用一个map记录排序后的。#include using namespace std;mapqs;mapqe;int main(){ string s; int n; scanf("%d",&n); for(int i=0;...
阅读全文
posted @ 2016-09-04 22:28
see_you_later
阅读(88)
推荐(0)
摘要:
转自:http://blog.csdn.net/fuyukai/article/details/50366133 题目简述: 经典题目,求一个数组中两个数异或运算的最大值。题目极其简单,但是要求的复杂度需要达到O(N * log(N)),还是比较难的。解题思路: 总的思路就是构...
阅读全文
posted @ 2016-09-03 17:28
see_you_later
阅读(211)
推荐(0)
摘要:
题意: 略 思路: 暴力是可以的O(1e7),这里采用线段树,线段树区间查找O(logn)#include#include#include#includeusing namespace std;const int INF=-0x3f3f3f3f;const int MAXN=200...
阅读全文
posted @ 2016-09-02 18:00
see_you_later
阅读(106)
推荐(0)
摘要:
思路: 首先我们能够很容易地想到,4个数的和,拆成两两相加:a+b=-c-d; 我们也能很轻松地求出两两之和,但是呢。。不同的和会存在相同的值相加,所以还要排除这个条件。具体操作就是标记一下,然后将和二分来操做#include #include #include #include ...
阅读全文
posted @ 2016-09-02 17:10
see_you_later
阅读(117)
推荐(0)
摘要:
思路: 我们可以说: ①:价值大的不管时间早晚,都可以取,时间较晚的,本身就可以取,那么肯定是大的在前面取,但是在最前面那也是不对的,那么条件就是在规定的时间内,大的就是取了,因为他大,OK。 ②:只要时间允许,怎么取都无所谓,时间不允许取所有,挑大的,如果时间上满足就加了,不满足...
阅读全文
posted @ 2016-09-02 17:06
see_you_later
阅读(88)
推荐(0)
摘要:
思路: = =杨辉三角的应用,组合数的应用; C(N+M,N); 逆元一发,费马小定理,OK。#include #include #include using namespace std;typedef long long LL;const LL mod=1e9+7;LL cal(...
阅读全文
posted @ 2016-08-31 23:51
see_you_later
阅读(100)
推荐(0)
摘要:
思路: 很水的dp吧。。。问的都是能否组成。。 哦对,这里sum最大才2e7,不会是2e9所以放心dp#include#include #include#include#includeusing namespace std;typedef __int64 LL;const int ...
阅读全文
posted @ 2016-08-31 23:46
see_you_later
阅读(108)
推荐(0)
摘要:
思路: 掐住最后一位,快速幂一发就好了#include#include #include#include#includeusing namespace std;typedef __int64 LL;int cal(int g,int x){ int ans=1; whi...
阅读全文
posted @ 2016-08-31 23:44
see_you_later
阅读(104)
推荐(0)
摘要:
思路1.: 离线处理; 具体就是把岛屿离线然后按照高度排序,把query按照从高到低排序,然后每次query只要从最高的岛屿开始找起,判断条件:如果他旁边都是没有被找过的(也就是默认是海),那么数量+1,如果两边都是岛屿,那么数量-1,我们不需要判断一边是岛屿,一边是海没意义 思路...
阅读全文
posted @ 2016-08-31 23:42
see_you_later
阅读(126)
推荐(0)
摘要:
思路: 就是先正常的dp一下求一个最大连续子串,然后特殊情况就是sum-最小连续子串。。 比一比谁大谁小就好了#include #include #include using namespace std;typedef long long LL;const int N=5e4+10...
阅读全文
posted @ 2016-08-31 23:40
see_you_later
阅读(104)
推荐(0)
摘要:
思路: 不晓得阿,n%9==0即n数值各个位加起来要%9==0; 如果知道这个,那么%90==0就是末尾多个0就好了,那么后面就是随便搞吧;#include #include #include using namespace std;typedef long long LL;con...
阅读全文
posted @ 2016-08-31 23:35
see_you_later
阅读(140)
推荐(0)
摘要:
思路: 2和5能构成0,然后就是看2和5因子组成个数,然而我们知道,1-n中2的因子数肯定>5的,所以我们只要求一下1-n中5的因子个数就好了。。。#include #include #include using namespace std;typedef long long LL...
阅读全文
posted @ 2016-08-31 23:33
see_you_later
阅读(112)
推荐(0)
摘要:
直接打表构造啊#include #include #include using namespace std;typedef long long LL;const int N=1e5+10;int a[N];int d[N];void init(){ d[0]=a[0]=0; ...
阅读全文
posted @ 2016-08-31 23:30
see_you_later
阅读(110)
推荐(0)
摘要:
思路: 简单的区间dp,从小区间到大区间,随便写。 还有一种是那啥,n-LCS。。。具体不说了,赶时间)))= =、#include #include #include using namespace std;typedef long long LL;const int N=1e3...
阅读全文
posted @ 2016-08-31 23:29
see_you_later
阅读(111)
推荐(0)