摘要:
总结一下这场。。。 搞起大号就崩了。。。 A题没啥问题。。通过电脑到手机上提交没啥大问题; B题,讲个最严重的问题,也是最近以来最严重的问题,虽然我说你开了个数组,虽然这个数组是不是最终的答案数组,但是。。还是要考虑这个数组的范围啊,就像图的题目你为啥要注意邻接表结构体数组的大小啊,而且很恶心的... 阅读全文
摘要:
题意: 给你一个串只有小写字母和点,让你构造前缀是1-8,后缀是1-3长度的文件名; 思路: 那么以"."作为分割点,把字符串都拿出来,然后 首段长度using namespace std;typedef long long LL;typedef unsigned long long ULL;t... 阅读全文
摘要:
题意: 给你两个串s1,s2和一个K, 有一种操作是在一个串切开然后交换位置, 问s1有多少种方法经过K次这样的操作变成s2; 思路: (从来没接触过计数DP...还是太菜...参考了【大牛blog】 首先呢,不管怎么切怎么换,都是原串自己转来转去有没有???看到这个其实我还是不懂。。。。 然... 阅读全文
摘要:
题意: 给一个字符串代表相邻学生的比较,L代表左边多,R表示右边多,=表示左右相等。 保证每个人拿糖>=1,在分糖最少的情况下,输出每个学生所分得的糖。 思路: 模拟一下,第一个人一开始拿1个,然后模拟下去,如果是=,那就=前面的,如果是R,那就比前面的多一个,如果是L,最好的情况就是拿1个,但... 阅读全文
摘要:
参考:大牛blog 思路: 因为是环,所以可以复制一下图,先判断一下和他是不是和与他相邻的8个之一的一个障碍使得构成了一个环,环就是一个连通,用并查集维护即可; 如果没有就ans++,然后并把这个点加入。 大致意思就是这样。 #include #include #include #include... 阅读全文
摘要:
思路: 一开始是没有办法贪心的,但是答案是可以二分的,因为窝能买k辆车的话,窝就一定能买k-1辆车;而且我最好就是拿手上钱较多的那些人去买价格便宜的车,这样肯定是能买到最多的车,而且花的少,因为对于要买的车公共钱的话够得话,那就直接公共钱付了就行,而要付出的钱是一定要付的。 所以直接二分答案。 ... 阅读全文
摘要:
题意: 给你n个人的位置,每个人最多移动k个单位,然后在某点>=3人可以抱团,问你这n个人最少抱团数,只要有一个n不能抱团输出-1; 思路: 感觉又是超级超级狗血。。。。 剪不断,理还乱。。。 现对人的位置拍个序 一开始想的是贪心,纯粹因为n1e5...,然后思路是对于每个位置搞一下,能延伸的最... 阅读全文
摘要:
其实就应该想到,哪有那么简单让你直接搞出答案的几何题啊;(而且很有可能是二分? 题意: 有两个梯子,一个靠在左边墙上,一个靠在右边墙上,长度分别为 x 和 y,他们的交点距离地面高度是 c,求两个梯子底部的距离。 思路: 二分底部距离,然后算C(通过相似三角形就好了,两个比值(C比梯子顶部到墙... 阅读全文
摘要:
题意: 就是按照A->B->C->D....去拿,求步数; 思路: 有一个注意点:如果碰到合法字母吃掉,再以后的某次可以重新到改点; BFS的因为标记而减少了重复位置的到达,但是按照题目,窝从A->B吃了B以后,我后面还是要以合法并且最短的方法到C,所以... 有一种方法,就是我BFS最多26次... 阅读全文
摘要:
题意: n个相同的骰子,问你掷出>=x点数的可能性; 思路: dp[i][j]代表前 i 个骰子掷出 j 点数的方案数; 然后Σdp[n][x]-dp[n][6*n]就好了 卧槽,一开始想的是拆分搞。。。。。。其实这种就是个简单DP啊/// #include using namespac... 阅读全文
摘要:
题意不懂啊。。。。。。 只知道求割点。 #include using namespace std;typedef long long LL;typedef unsigned long long ULL;typedef pairPII;const double eps=1e-5;const do... 阅读全文
摘要:
题意: 给你一幅图,dis(u->v)的权值就是(w[v]-w[u])*(w[v]-w[u])*(w[v]-w[u]),所以有可能是负的,给你n个询问,给出最短路,长度using namespace std;typedef long long LL;typedef unsigned long l... 阅读全文
摘要:
活生生打成了大模拟。。。 #include using namespace std;typedef long long LL;typedef unsigned long long ULL;typedef pairPII;const double eps=1e-5;const double pi=... 阅读全文
摘要:
题意: 一个大圆的半径,里面有相邻的n个小圆,求这些小圆的半径; 思路: x=sin(2π/n); r=x*R/(1+x); #include using namespace std;typedef long long LL;typedef unsigned long long ULL;ty... 阅读全文
摘要:
可以先看些资料:http://blog.csdn.net/keyboarderqq/article/details/53388936 参考谷巨巨:http://blog.csdn.net/azx736420641/article/details/50982142 #include using ... 阅读全文
摘要:
出处:点我打开 康托展开是一种特殊的哈希函数。 如我想知道321是{1,2,3}中第几个大的数可以这样考虑: 第一位是3,当第一位的数小于3时,那排列数小于321 如 123、 213 ,小于3的数有1、2 。所以有2*2!个。再看小于第二位2的:小于2的数只有一个就是1 ,所以有1*1!=... 阅读全文
摘要:
搞不懂为什么DFS的写法崩了,然后乱暴力,因为题意不是很懂。。。 主要还是读题吧(很烦 #include using namespace std;typedef long long LL;typedef unsigned long long ULL;typedef pairPII;const d... 阅读全文
摘要:
题意: 给你w,n,问你在w^0,w^1,w^2...各种一个,问你能不能用这些砝码和重量为m的东西放在天平上使得天平平衡; 思路: 这个很容易联想到进制: 如果把m放在是一边的话,其实对于砝码就是纯粹的相加,能不能被表示成这样一个进制,每个位上就是是0或1 那么如果两边都要放呢? 所以就是说我... 阅读全文
摘要:
题意: 先给你一个序列,然后给你n个1-n的一个数,让你求前i个元素销毁的时候,区间字段和区间最大; 思路: 离线处理,维护新区间首尾位置的起点和终点,倒着处理; #include using namespace std;typedef long long LL;typedef unsign... 阅读全文
摘要:
#include using namespace std;typedef long long LL;typedef unsigned long long ULL;typedef pairPII;const double eps=1e-5;const double pi=acos(-1.0);co... 阅读全文
摘要:
#include using namespace std;typedef long long LL;typedef unsigned long long ULL;typedef pairPII;const double eps=1e-5;const double pi=acos(-1.0);//... 阅读全文
摘要:
5-4 公路村村通 (30分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。 输入格式: 输入数据包括城镇数目正整数NN(\le 1000≤1000)和候选道路数目MM(\le 3N≤3N);随后的MM行对... 阅读全文
摘要:
5-5 城市间紧急救援 (25分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往... 阅读全文
摘要:
题意: 给你一个n和一个数 digit ,问你最少需要多少个 digit 使得整除于n; 思路: 同余定理(a+b)%n=(a%n+b%n)%n; (m%n+m%n*10+m%n*100+m%n*1000......)%n==0; temp=m%n; temp=(temp*10+m)%n=(10... 阅读全文
摘要:
5-2 Windows消息队列 (25分) 消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着... 阅读全文
摘要:
题意: 给你一个0/1的数组,然后给你n段区间,说这个区间里要反转一次,然后给你Q个询问,问你这个位置是什么; 思路: 我们线段树维护一下就好了额; 其实反转的话,还是算次数是不是,奇偶嘛; #include using namespace std;typedef long long LL;co... 阅读全文
摘要:
点我》》题目链接 稳定串 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java class name: Main Prev Submit Status Stati... 阅读全文
摘要:
循环队列: 队列最简单的表示方法就是数组啊; 用数组表示队列,那么普通的方法就是简单的搞两个下标代表队列头,队列尾,然后进队,出队,但是随着入队,出队操作的进行,会使整个队列整体向后移动,队尾指针已经移到了最后,再有元素入队就会溢出,而事实上此时队中并未真的“满员”,这种现象称为“假溢出”。... 阅读全文
摘要:
5-7 是否同一棵二叉搜索树 (25分) 给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们... 阅读全文
摘要:
5-6 笛卡尔树 (25分) 笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字满足优先队列(不妨设为最小堆)的顺序要求,即该结点的K2值比其子树中所有结点的... 阅读全文
摘要:
5-4 搜索树判断 (25分) 对于二叉搜索树,我们规定任一结点的左子树仅包含严格小于该结点的键值,而其右子树包含大于或等于该结点的键值。如果我们交换每个节点的左子树和右子树,得到的树叫做镜像二叉搜索树。 现在我们给出一个整数键值序列,请编写程序判断该序列是否为某棵二叉搜索树或某镜像... 阅读全文
摘要:
#include using namespace std;typedef long long LL;const int N=5e2+10;const int INF=0x3f3f3f3f;struct SegT{ int left; int right; int w;};Seg... 阅读全文
摘要:
#include #include #include #include #include using namespace std;typedef long long LL;const int N=5e4+10;struct asd{ LL pre; LL next; LL nu... 阅读全文
摘要:
这里很low地写了个线段树。。。 #include using namespace std;typedef long long LL;const int N=1e5+10;struct SegT{ int left; int right; int w;};SegT q[N*4]... 阅读全文
摘要:
Description 这是mengxiang000和Tabris来到幼儿园的第四天,幼儿园老师在值班的时候突然发现幼儿园某处发生火灾,而且火势蔓延极快,老师在第一时间就发出了警报,位于幼儿园某处的mengxiang000和Tabris听到了火灾警报声的同时拔腿就跑,不知道两人是否能够逃脱险... 阅读全文
摘要:
哈夫曼树的定义: 假设有n个权值{ w1,w2 , ... , wn},构造有n个叶结点的二叉树,每个叶结点的权值是n个权值之一,这样的二叉树可以构造很多棵,其中必有一棵是带权路径长度最小的,这棵二叉树就称为最优二叉树或哈夫曼树; typedef struct TreeNode* Huffm... 阅读全文
摘要:
题意: 求所有的上升子序列种数; 思路: 我想先离散化一下,然后用树状数组维护一下。 最终答案就是sum(n) ? 卧槽,好像是;然后就过了。。 #include using namespace std;typedef long long LL;const LL mod=1000000007;c... 阅读全文
摘要:
题意: s是这个人开始位置;连续相同大写字母是 Each of the k trains,相应的火车具有相应的字母; '.' 代表空; 有个人在最左列,上面有连续字母代表的火车,火车从左边出去的话,会从右边继续进来, 一开始是人先往右走一步,然后上下或者一步,然后火车往左移两步。 n有100,代... 阅读全文
摘要:
题意: 给你n个区间,然后给你m个i点问你这个点在几个所给定的区间里; 思路: 离散化+区间覆盖 #include using namespace std;typedef long long LL;const int N=5e4+10;struct SegT{ int left,right... 阅读全文
摘要:
题意: 给你n个数,然后给你q个区间,然后问你这n个数有多少个在这个区间上; 思路: 树状数组搞搞,但是注意到数的范围很大,所以先离散化一下。 初始化初始化!!!卧槽,wa的我好郁闷。。。 #include using namespace std;typedef long long LL;con... 阅读全文