计算技巧
文章平均质量分 72
Good_night_Sion_
Good Night, Sion.
展开
-
UVA 202 有理数化为循环小数求循环节 UVA 11809 对数处理数据
UVA 202 题目的大致意思是给出有理数的分子和分母,要你找到化为循环小数后的循环节。 在此仅仅讨论有循环节非0的情况 给定分子a,分母b,假若没想到最多需要做除法的次数,可以用vector之类的玩意。原创 2016-07-17 16:51:57 · 1012 阅读 · 0 评论 -
CSU OJ 1803 2016 数论题? 机智题。。
不知道做,尝试了几次之后样例都过不了 本来考虑的事情是a×b mod 2016 == 0 的对数,现在考虑a×b mod 2016 !=0的对数,然后用a×b减掉这个数就是答案 至于求这个数的方法,要求a×b mod 2016 !=0 即要求a%2016 = i,b%2016=j 且 i*j%2016 !=0 因此就是枚举a%2016和b%2016的余数即可原创 2017-03-17 19:03:40 · 920 阅读 · 1 评论 -
UVA 1605 Building for UN 机智题。。
题目:https://uva.onlinejudge.org/external/16/1605.pdf 题意比较简单。。。就不说了 书上的方法太棒了。。。感觉这个机智得特别棒。。 一共两层,第一层第i行全是国家i,第二行第i列都是国家i 显然这是满足条件的,第一层第i行就可以保证楼上的都是其他的国家#include #include #include usin原创 2017-04-10 21:32:51 · 402 阅读 · 0 评论 -
CSUOJ 1843 Jumping Monkey BFS,状态压缩
CSUOJ 1843 Jumping Monkey 题目大意:有一个n个点的图,对手可以在图上的任意一个点放下一个物品,你每一次有机会查看一个点上是否存在物品,假若你查看之后点内没有物品,则对手必须把物品放在任意一个和这个点相邻的点内,问是否存在一定能够找出物品的策略,求出字典序最小,否则impossible Sample Input:2 10 1原创 2017-03-25 23:09:27 · 603 阅读 · 0 评论 -
CSUOJ 1849 Comparing answers 哈希,hash,计算技巧
DescriptionIn a place in Southwestern Europe, the name of which I do not wish to recall, not long ago there were n cities connected by unidirectional roads, with possibly more than one road connecti原创 2017-03-25 23:26:44 · 511 阅读 · 0 评论 -
UVA 11582 Colossal Fibonacci Numbers! 规律题 练习unordered_set
题面是PDF的,这里大概说一下题意好了,给出三个数a,b,n。询问斐波那契数列的第a^b项%n是多少,这里的^表示幂,而不是异或 大概是这样的做法 考虑找出循环节,然后计算a^b是位于循环节的什么位置 定义一个函数,F(i)=f(i)%n,其中f(i)表示斐波那契数列的第i项,然后考虑二元组(F(i),F(i+1)),由于斐波那契数列的递推公式原创 2017-05-18 22:55:59 · 465 阅读 · 0 评论 -
UVA 11134 Fabled Rook 枚举 multiset加速
题意说的是给出一个长度为n的国际象棋的棋盘,然后给出n个车的可以放置的范围,范围是一个矩形,用左上和右下两对数来描述,问是否存在方式使得每个车都放在他自己的范围里面且相互不冲突 这里x方向和y方向是不相关的,x方向和y方向不相关的意思就是,假若当前的车放在(x0,y0)处会导致x轴方向上的冲突,那么,无论y怎么变化,冲突依然是存在的 同理,这里的y方向和x方向也原创 2017-05-19 21:31:27 · 378 阅读 · 0 评论 -
CSUOJ 1942 Sort String 线段树 操作变换
DescriptionGiven a string S ,the length is n ,and It contains only lowercase English letters.Also given q queries each query is on the format i j k ,that means sort the substring consisting of the c原创 2017-06-06 21:14:46 · 446 阅读 · 0 评论 -
CSUOJ nineteen thirteen One big silly dragon gives gifts out 线段树 二分 转化
标题含有敏感词,莫名被锁了2次。OTZ,用英文总该没事Description这天一条大笨龙(菜比出题人dota2游戏名称)的好朋友高素质玩家(某素质玩家dota2游戏名称)天天被朋友黑,一条大笨龙觉得太可怜了,一条大笨龙准备送点礼物给他作为安慰。一条大笨龙现在有一个长度为n的整数序列。然而他的这个好朋友非常喜欢鸽子,他有想对这个序列进行某种变形操作(第一类操作),给出一些区间[l,原创 2017-06-07 16:53:30 · 843 阅读 · 0 评论 -
CodeForces #419 Div.2 B Karen and Coffee 差分 巧妙
B. Karen and Coffeetime limit per test2.5 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputTo stay woke and attentive during cla原创 2017-07-03 21:41:30 · 555 阅读 · 0 评论 -
CodeForces #431 849D Rooter's Song 技巧题
做题之前,首先 骑士团参见公主殿下!!恩。正题题意是说给出n个位于x轴正方向和y轴正方向上的点,第i个点在ti秒后将会移动,移动方向是假若在x轴上就向y轴正方向垂直移动,反之在y轴上就向x轴正方向水平移动。当两个点相撞时,水平移动的点的速度立即改为竖直向上,竖直移动的点立即改为水平向右。所有的点的速率均为1单位/ms。有两条直线x=w和y=h,当点打在这两条直线中的任意一原创 2017-10-22 15:53:43 · 518 阅读 · 0 评论 -
100道动态规划——28 POJ 2778 DNA Sequence AC自动机+DP+矩阵快速幂 很不错嘛
一眼看出是AC自动机上的DP,因为数据量的问题显然不能记忆化搜索或者是递推,然后就不知道怎么做了 天知道还要联系到矩阵快速幂,图论的东西好久都没写过了=_= 定义一个Matrix的数据结构,也就是矩阵,由矩阵的长、宽、以及每个分量上的元素描述而成,支持通常意义上的矩阵乘法(在具体实现的时候用的是稀疏矩阵乘法),此外拥有一个成员函数qpow(int n),返回值为原创 2017-02-22 15:58:46 · 684 阅读 · 0 评论 -
UVA 11732 strcmp() Anyone? Trie的左儿子右兄弟表示法
思考了一会儿,发现这题目要一层层的考虑。 即,在插入一个字符串str到Trie的时候,同时更新答案 两个字符串,在对比到第i个位置不同时,通过的比较次数是(i 假若到最后都相同的话,比较的次数是(length+1) 抱着这样的想法,我发现普通的Trie并不好维护这个玩意,看了题解才明白。 没想到在这里遇见了左原创 2017-02-09 11:33:42 · 536 阅读 · 0 评论 -
CodeForces 471C 规律题
好吧,在比赛的时候在做471D,鼓捣了半天没弄出来。。。最后比完赛发现是471D的KMP在写的时候一个小细节没注意。。。。嘛,不过这道题目我也是想了一会儿的,首先我觉得这个应该是找规律的一道题目吧。 好吧,首先想摆到某一层之后卡片数有什么特点,设摆到了第L层,此时有K个小屋(也就是“∧”型),我们可以通过这两个假设把总卡片数推出来,那么,总的卡片数应该就是3*K - L,原创 2016-08-16 16:12:01 · 638 阅读 · 0 评论 -
NBUT OJ 1643 阶乘除法 打表
这道题一开始想错了。。想当然了。。。想着因为10! 大概是利用了阶乘的增长飞快的特点吧,因此打表的话,元素也不会很多,正是阶乘增长的飞快,所以在处理阶乘这一类问题的时候是比较考验技巧的。#include#include#includeusing namespace std;const int inf=1000000000;map >ma;原创 2016-08-20 20:00:48 · 641 阅读 · 0 评论 -
NBUT OJ 1641 错误的算法 暴力题
说是说暴力题可确实卡了我好久。。。。没有看到题目的第一句话"如果答案不唯一,输出任意解即可”,也就是意味着正确答案是会有多个的。。。但是我以为正确答案也会只有一个。。。。所以一开始判定方法是判断错误算法的行和列是不是和正确的一样,后来改成了判断值是不是一样就A了,,,,,诶。。。果然还是经验不够。。5000ms,完全可以跑暴力。。#include#includeusing原创 2016-08-20 15:20:25 · 503 阅读 · 0 评论 -
HDU 1558 判断两个线段相交附带并查集
题目的大概意思是只要两个线段连在一起就可以算在一个集合里面,问第k条直线处在的集合中有多少条直线。 假设在已知判断线段相交的方法的情况下,把一条新的直线放到平面上的时候,我们把这条直线和之前的所有直线判定一遍,假若相交,则合并这两个集合,因为n 接下来就是解决判定线段相交的问题了,借用了算法导论上的办法,以下是代码:#include#include原创 2016-08-10 20:59:46 · 430 阅读 · 0 评论 -
CodeForce 675C 技巧题(其实我也不知道要归到什么里面去。。。)
题目大意是有N个银行,这N个银行是呈环状相连的,也就是第1个和第N个是邻居,你在每一个银行里面都有一些钱或者是欠款,这些东西价值的总和为0,你每次只能够把一个银行里面的钱转移的相邻的银行去,求使得所有银行的钱都变成0的最少的移动次数。 一开始没考虑那么多。。。就直接是把环展开成了链,然后找最长的连续的0,想当然的以为答案就是银行个数减去最长的连续的0,毋庸置疑,结果错掉了。。。原创 2016-08-11 21:03:20 · 704 阅读 · 0 评论 -
BNUOJ 3853 Blocks 矩阵快速幂
好吧,我应该不是第一次接触这种思想了,可是我以前做的题目都是显式的给出递推关系。。这样递推关系隐藏的还没有遇见过,也算是长长见识了。 总之要想办法转到矩阵上面来。为了方便称呼,我这里把四种颜色叫做a,b,c,d,而c,d就是题目特定要求的颜色。 然后考虑这三种状态: A(i)=格子数为i 块时c,d个数都是偶数的方原创 2016-10-09 07:57:41 · 445 阅读 · 0 评论 -
100道动态规划——2 UVA 1625 Color Length DP 转移的代价稍微难写一点 顺便贴了刘汝佳的代码
这道题是第二道100道动态规划之中的,老实说一开始想到了定义这个状态dp[i][j]代表第一行用了i个,第二行用了j个这样。可是想不到好办法去写转移方程。。。后来实在想不出来了,好吧,看书。发现书上用一种很巧妙的办法处理的求转移的代价,那就是每一次+上已经开始但还未结束的字符个数。顿时就豁然开朗呀。马上动手 但是依然不会写。。。发现自己写出来的总是有问题。。想了原创 2016-10-25 08:49:59 · 586 阅读 · 0 评论 -
UVA 208 Firetruck DFS 并查集
明明是放在暴力这一栏下面了,想碎觉之前写一道题目,但是暴力超时了。。把邻接矩阵改成邻接表还是超时了。。。。OTZ,没办法睡觉了。好吧,其实我觉得已经没办法优化了。后来去看了题解,发现要先用并查集判断可行性,然后在跑DFS。有一些问题在看完AC代码之后再讨论,还有就是。。样例输出骗了我几发PE.#include #include #include #include using原创 2016-11-09 14:31:39 · 428 阅读 · 0 评论 -
POJ 3735 BNUOJ 3845 Training little cats 矩阵快速幂 稀疏矩阵乘法优化 计算机图形学的齐次坐标
好吧,我觉得这道题有两个难点。。。第一个是我没想到转化为矩阵的求解。。。这个应该是做的这方面题目比较少的缘故。第二个就是需要对稀疏矩阵的乘法进行优化,这个也是学到了。 在学长提示了说要用到矩阵之后我就基本上想到大概的方法了,把猫咪的花生数量看做矩阵里面的元素的话,联系线代里面的知识就可以想到给花生数量矩阵再乘上一个矩阵来进行变换。然后把k个指令对应的变换矩阵原创 2016-10-09 08:06:04 · 1007 阅读 · 5 评论 -
POJ 2785 upper_bound找到上界和下界
试出来了,在此记录一下,能够找到的原理是数组是有序的,我们是需要在找的时候改变判断的方式即可,序关系,运用了仿函数此处数组升序排列#include#include#includeusing namespace std;int A[4010], B[4010], C[4010], D[4010], n, arr1[4000 * 4000 + 10], index,原创 2016-07-24 08:49:52 · 603 阅读 · 0 评论 -
UVA 1614 - Hell on the Markets 数学题 非贪心
题意: 给定一个数组长度n,n<=100000,随后给出这个正整数数组A,A的第i项满足1<=Ai<=i,求另外一个仅有1和-1构成的数组B,使得A与B对应每一项乘积再求和为0。多解任意解。实际上网络上说的排序之后再贪心什么的,根本就没有必要,而且也不是这一道题目的关键点所在。也就是说实际上做法是O(n)的,而不是O(nlgn)的下面来阐释这道题目的证明约定:定...原创 2019-03-17 11:32:06 · 463 阅读 · 0 评论