
思维, 模拟
文章平均质量分 61
LBJHan
经历过就是财富
展开
-
codeforces 1037D Valid BFS?
题目链接题意:给出一颗以1号节点为根的树,以及一个序列,问所给序列是不是所给树的一种BFS搜索顺序;思路:把BFS顺序理解了,我的错误理解是只要深度相同的节点在一起就可以,忽略了其父节点访问顺序不同,同一深度的节点访问顺序也就不同这一问题;如左图所示的树,其BFS搜索顺序有且仅有一下几种:1->2->3->5->6->41->2->3-...原创 2018-09-03 09:29:51 · 308 阅读 · 0 评论 -
Aninteresting game HDU - 5975 (树状数组lowbit深入理解)
Aninteresting game题目链接:HDU - 5975题意:有1~n个数,将i放入集合中时同时放入了[i-lowbit(i)+1, i-1]区间的数,每向集合中放入一个数就耗费一点体力,所以,向集合中放入i时就是同时放入[i-lowbit(i)+1, i]区间的数,共i-(lowbit(i)+1)+1=lowbit(i)个数,消耗的体力就是lowbit(i);问将区间[l,...原创 2018-07-22 08:44:33 · 445 阅读 · 2 评论 -
Simple Math Problem HDU - 5974
Simple Math Problem 题目链接:HDU - 5974题意:已知a, b,求x, y, 使得x, y,满足x+y=a,lcm(x, y)=b(lcm表示最小公倍数);联立上述两式得:x^2-a*x+b*gcd(x, y)=0;令gcd(x, y)=k;则有x'*k+y'*k=a (x'+y')*k=a x'+y'=a/k;而且:x*y/k=b ...原创 2018-07-21 19:54:28 · 178 阅读 · 0 评论 -
CS Course HDU - 6186(位运算,前后缀巧用)
CS Course 题目链接:HDU - 6186 题意:一个数列,分别求出该数列去掉一个数后剩余数的&,|,^运算结果;思路:^简单,先预处理所有值的^,然后去掉谁^谁:a^b^a=b;对&,|运算都预处理前缀和后缀,去掉谁...原创 2018-07-15 08:11:53 · 382 阅读 · 0 评论 -
Balanced Sequence HDU - 6299 (字符串,括号匹配, 贪心)
Balanced Sequence 题目链接:HDU - 6299 题意:n个只包含左右括号的字符串,问如何连接这些字符串可以使得匹配到的括号最多;思路:先把没个字符串自身能匹配的括号去掉,则剩的一定有p个右括号+q个左括号组成;形如))))))((((;要想匹配到的括号最多,则尽量让每个括号都起作用了;如果只包含左括号则把他放在最前边,如果只有右括号把他放在最后边;可以看...原创 2018-07-25 09:30:46 · 328 阅读 · 0 评论 -
Relatively Prime Graph CodeForces - 1009D
Relatively Prime Graph题目链接:CodeForces - 1009D 题意:定义一个relatively prime graph:每条边的两端点的GCD是1,且图中无自环的连通图;现在给出点的个数n,边的个数m,问能否构建一个relatively prime graph;图是连通的,m>=n-1;由1开始找比他大的互质数,直到找到m条;看上是O(n^...原创 2018-07-17 10:39:32 · 216 阅读 · 0 评论 -
Annoying Present CodeForces - 1009C
Annoying Present题目链接:codeForces - 1009C 题意:有一长度为n的数列,每次选一个下标j,将所有数都增加x+d*|j-i|(i是下标);求m个操作后,平均每个数最多增加的值是多少;思路:可知,每次必有增加n*x,对于d,当d>=0时,最大时j取1或n;当d<0时,最大时j取(1+n)/2;所有值用long long,最后/n;#i...原创 2018-07-17 09:43:07 · 189 阅读 · 0 评论 -
A Map of the Cat CodeForces - 952B(交互式题目)
A Map of the Cat CodeForces - 952B题意:给出两张猫图,分别标有normal猫和grumpy猫对人抚摸身上某位置的对应反应;现在你输出0~9,然后后台系统对你的输出输入猫对数字对应位置的抚摸的感受,最后要求你输出这个猫是哪一类...原创 2018-05-24 19:12:09 · 441 阅读 · 0 评论 -
954B - String Typing (认真读题!!!)
954B - String Typing 题意:给出一个目标字符串, 要求将一个空串转换为目标串,只能每次在后边加一个字符,或者将已得到的串copy然后粘贴到后边(注意!!!敲黑板了,这个操作只能用一次);就是吃了读题不严谨的亏,第二个操作只能使用一次,傻傻的我按多次算的,,,,无奈啊~~~既然操作二只有一次试用的机会,好到一定用在钢刃上,copy的越多越好;#include <iostre...原创 2018-05-23 16:58:53 · 305 阅读 · 0 评论 -
Students in Railway Carriage CodeForces - 962B
Students in Railway Carriage 题目链接:CodeForces - 962B题意:一排座位,'.'表示空位, '*'表示座位有人, 一共n个座位, 现在有a个A...原创 2018-05-16 19:04:16 · 278 阅读 · 0 评论 -
Destruction of a Tree CodeForces - 964D
Destruction of a Tree 题目链接:CodeForces - 964D题意:给出一棵树, 要求每次删除度为偶的点, 同时删除与它相连的边, 问最后能不能删掉所有点, 并...原创 2018-05-15 19:28:34 · 159 阅读 · 0 评论 -
Three-level Laser CodeForces - 956B
Three-level Laser 题目链接:CodeForces - 956B题意:由小到大排列的一个数列e[],找到(ek-ej)/(ek-ei)的最大值, 且i<j<k...原创 2018-05-21 12:32:20 · 249 阅读 · 0 评论 -
Pie Rules CodeForces - 859C(DP+思维)
Pie Rules 题目链接:CodeForces - 859C题意:n个pie, 按顺序给出大小, 两个人吃pie, 有一个令牌, 拿着令牌的人决定当前的pie分给谁, 然后没有分到p...原创 2018-05-20 20:56:35 · 376 阅读 · 0 评论 -
2个鸡蛋,100层楼问题;
题目:现有两个硬度相同的鸡蛋,以及一栋100层的楼,如果鸡蛋在第n层楼摔下去不会碎,在n-1层楼摔下去会碎,那么鸡蛋的硬度是n,如果要测出鸡蛋的硬度n,在最坏情况下最少要测试几次?每测试一次就把一个鸡蛋从x层楼扔下去;只有两个鸡蛋可用,鸡蛋摔碎了就不能用了;题目分析:1:二分????刚开始看到这个题脑子里最先蹦出来的就是二分;每次取一半,log(n)的算法,然后稍微深入分析一下就悲...原创 2018-07-22 12:29:14 · 1884 阅读 · 0 评论 -
Pinball HDU - 6373(物理受力分析?)
Pinball 题目链接:HDU - 6373题意:一个小球有高空落到斜坡,忽略能量损失,小球能在斜坡上弹几次;思路:高中最简单的受力分析都不会了,,,,,,;终于将受力分析分析对了后就是上图;先算出小球落到斜面的速度,再求垂直斜面的运动周期,沿斜面方向的运动时间,无情的WA了;下面在上两张图: 这两张图的受力分析由小球开始...原创 2018-08-09 08:32:56 · 609 阅读 · 0 评论 -
Codeforces Round #496 (Div. 3) D. Polycarp and Div 3
题目链接题意:给出一个数串,将其分割成若干块,使得分割后形成的数中整除3的数最多,输出其个数;思路:每个数对3取余有三种情况,0, 1, 2, 是0就直接被整除了;对于每相邻的两个数对三取余有9种, (0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2);那么其中(0, 0), (1, 2), (2, 1...原创 2018-09-05 16:34:54 · 195 阅读 · 0 评论 -
Codeforces Round #471 (Div. 2) C. Sad powers
题目链接题意:问区间[L, R]中有多少数字可以写成的形式;思路::当p>=3时,x<=1e6;只有p=2时x能达到1e9;但是[L, R]区间中满足的数有(int)sqrt(R)-(int)sqrt(L-1)个,所以对于区间[L, R]先找出p>=3的情况,再加上(int)sqrt(R)-(int)sqrt(L-1),而对于p>=3的情况打表找出来就可以了,然后排...原创 2018-09-08 10:37:13 · 388 阅读 · 1 评论 -
Educational Codeforces Round 50 (Rated for Div. 2) C. Classy Numbers(dfs构造某类数)
题目链接题意:找出区间[L, R]之间最多有三位是非零数字的十进制数的个数;思路:用构造出所有的满足题意的数,然后排序,二分找;#include <bits/stdc++.h>using namespace std;typedef long long ll;vector<ll> vec;void dfs(ll cur, int cnt, int len...原创 2018-09-08 08:53:45 · 765 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 B The writing on the wall
题目链接题意:一个n*m的方格矩阵,有的格子被涂成了黑色,问该矩阵中有多少个子矩阵,子矩阵不包含黑色格子;思路:对于一个长为L, 高为H的无黑点矩阵中包含的高为H的子矩阵个数为L+(L-1)+(L-2)+...+1个;这是直接算的一种方法;如何程序表示该计算呢?for(int i=1; i<=L; i++){ for(int j=i; j>0; j--){ ...原创 2018-09-02 10:15:40 · 1817 阅读 · 9 评论 -
Binary Tree HDU - 5573
Binary Tree题目链接:HDU - 5573 题意:一个无穷大的完全二叉树,每个节点的值由上到下,由左到右依次为1, 2, 3, 4, 5, ......;现在给出一个数n,要求走k步,每到达一个节点可以选择加这个点的值或者减这个点的值,初始值为0,第一步永远在根节点1,且只能向下走,最终停下后得到的值恰好等于n;思路:对于这个二叉树来说,最左侧是2^0, 2^1, 2^2, ...原创 2018-09-04 10:59:11 · 261 阅读 · 0 评论 -
LCM Walk HDU - 5584
LCM Walk题目链接:HDU - 5584 题意:一只青蛙在无穷大的棋盘上跳跃,规则如下:青蛙当前位置是(x, y);那么下一步,青蛙只能跳到(x+lcm(x, y), y)或(x, y+lcm(x, y));题目给出一个终点(ex, ey),问青蛙的起点有几种情况;思路:假设青蛙由(x, y)跳到了(x+lcm(x, y) = ex, y = ey);因为lcm(x, y)...原创 2018-09-04 09:27:31 · 246 阅读 · 0 评论 -
Codeforces Round #503 (by SIS, Div. 1) B. The hat (交互式题目,二分)
题目链接题意:有n个数围成一圈,相邻的两个数之间差为1,由1~n标号,n是偶数;问是否存在这样的一对儿数(a[i]a[i+n/2]),使得a[i]=a[i+n/2];如果存在,输出下标i,反之输出-1;题目只给出n的值,可以以 "? x" 的形式询问下标是x的数值是几;最多问60次就要给出答案;由于n的范围是[2, 1e5],显然不能一个个的问;问60次相当于是log的复杂度,首先想到的...原创 2018-08-16 17:46:37 · 304 阅读 · 0 评论 -
A. Elections Codeforces Round #503 (by SIS, Div. 1)(暴力 or 三分)
A. Elections题目链接题意:现有民主投票,已知每张投票的价值以及获得该投票的选手编号,当1号获得的投票数大于其他任何一个选手的获票数是,1号赢,现在1号可以花费相应的价值获得相应的投票,问1号选手的最少花费;思路:一:首先直接暴力枚举获票数;二:三分枚举获票数;暴力:#include <bits/stdc++.h>using namespace...原创 2018-08-15 21:16:02 · 345 阅读 · 0 评论 -
Problem E. Matrix from Arrays HDU - 6336 (容斥,打表找规律)
Problem E. Matrix from Arrays 题目链接:HDU - 6336 题意:按照题目方法构造一个矩阵,给出左上角和右下角的坐标问以两点连线为对角线的矩阵的和;思路:打表发现,当L是奇数时,构造的矩阵是一个L*L的循环矩阵;L是偶数时,构造的矩阵是一个2L*2L的循环矩阵;那么统一把循环节设为2L即可;先打表构造出循环矩阵,求前缀和sum[i][j];最好让矩阵的x...原创 2018-08-02 10:58:58 · 475 阅读 · 3 评论 -
Yaroslav and Sequence CodeForces - 302C
Yaroslav and Sequence 题目链接:CodeForces - 302C 题意:共有2*n-1个数,每次可以将任意n个数改变为其相反数即 x -> (-x);问最后能得到的数列的最大和是多少;思路:当n为奇数时,无论数列中有多少负数,多可以将所有数变为非负整数;当n为偶数时,如果数列中有偶数个负数,那么,一定可以把所有负数变为正数;如果有一个负数,...原创 2018-08-09 18:28:32 · 315 阅读 · 0 评论 -
Problem L. Visual Cube HDU - 6330 (模拟,构建)
Problem L. Visual Cube 题目连接:HDU - 6330 题意:给出三个数x, y, z,分别对应一个立方体的长宽高;要求打印出这么一个立方体;根据题目样例不难找出规律;首先上部分就是答打印上面,下部分打印下面最后补齐边角的点就可以了;#include <bits/stdc++.h>using namespace std;char ...原创 2018-07-31 19:04:38 · 224 阅读 · 0 评论 -
Mystical Mosaic (状态压缩)
Mystical Mosaic 题意:n*m的棋盘, 每次选一个行集合R和一个列集合C, 将行与列的交点染成黑色, 每次操作不能选择已选过的行或列, 问能否将白色棋盘染成给出状态;记录每一行的状态(二进制表示),然后枚举状态;#include <cstdio>...原创 2018-05-20 11:28:25 · 233 阅读 · 0 评论 -
Seinfeld HDU - 3351(栈 匹配括号)
Seinfeld HDU - 3351题意:只包含'{','}'的偶数长度的字符串, 每次只能改变一个括号:'{'->'}'或'}'->'{'; 求最少的操作次数, 使字符串是合法的;#include <cstdio>...原创 2018-05-17 17:06:41 · 363 阅读 · 0 评论 -
The Longest Straight FZU - 2216
E - The Longest Straight 题目链接:FZU - 2216#include <iostream>#include <algorithm>#include <string.h>#i...原创 2018-04-15 16:26:43 · 178 阅读 · 0 评论 -
Codeforces892C Pride
You have an array a with length n, you can perform operations. Each operation is like this: choose two adjacent elements from a, say x and y, and replace one of them with gcd(x, y), where gcd denotes ...原创 2018-04-15 15:54:52 · 194 阅读 · 0 评论 -
Moon Game FZU - 2148(计算几何)
I - Moon Game 题目链接:FZU - 2148题意:n个点, 问各一个成几个不重复的凸四边形;思路:凸四边形对角线一定相交;#include <stdio.h>#include <algorithm>#include <iostream>#include &l...原创 2018-04-14 18:55:00 · 180 阅读 · 0 评论 -
Sub-Bipartite Graph FZU - 2141
B - Sub-Bipartite Graph 题目链接:FZU - 2141#include <stdio.h>#include <algorithm>#include <iostream>#inc...原创 2018-04-14 18:24:53 · 188 阅读 · 0 评论 -
Forever 0.5 FZU - 2140 (数学, 思维)
A - Forever 0.5 题目链接:FZU - 2140题意:问能否找到n个点满足以下条件:1:两点之间距离<=1.0;2:每个点和原点(0,0)距离<=1.0;3:存在n对点距离为1.0;4:n个点围成图形面积0.5<...原创 2018-04-14 16:55:14 · 205 阅读 · 0 评论 -
Rational Resistance(CodeForces 344C)
C. Rational Resistancetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputMad scientist Mike is building a time machine in his spare time. To f...原创 2018-04-09 15:39:24 · 206 阅读 · 0 评论 -
Dasha and Stairs CodeForces - 761A
Dasha and Stairs 题目链接: CodeForces - 761A 题意:问能否找到一段连续整数, 使得偶数与奇数的个数与给出数据相同;只要两数差值<=1即可;注意特...原创 2018-04-08 16:15:22 · 245 阅读 · 0 评论 -
51Nod 1097 拼成最小的数
1097 拼成最小的数 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题设有n个正整数,将它们联接成一排,组成一个最小的多位整数。例如:n=2时,2个整数32,321连接成的最小整数为:32132,n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355Input第原创 2018-04-08 15:40:44 · 197 阅读 · 0 评论 -
英语考试 FZU - 2254 (最小生成树)
Problem Description在过三个礼拜,YellowStar有一场专业英语考试,因此它必须着手开始复习。这天,YellowStar准备了n个需要背的单词,每个单词的长度均为m。YellowSatr准备采用联想记忆法来背诵这n个单词:1、如果YellowStar凭空背下一个新词T,需要消耗单词长度m的精力2、如果YellowSatr之前已经背诵了一些单词,它可以选原创 2018-04-08 15:15:28 · 244 阅读 · 0 评论 -
Modular Exponentiation (思维)
The following problem is well-known: given integers n andm, calculate,where 2n = 2·2·...·2 (n factors), and denotes the remainder of division ofx by y.You are asked to solve the "reverse原创 2018-04-08 14:43:07 · 163 阅读 · 0 评论 -
Hacker, pack your bags! CodeForces - 822C
Hacker, pack your bags! 题目连接: CodeForces - 822C 题目大意:给你n个旅券,上面有开始时间l,结束时间r,和花费cost,要求选择两张时间不相交的旅券时间长度相...原创 2018-04-08 14:32:59 · 368 阅读 · 0 评论 -
折线分割平面 hdu 2050
折线分割平面Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 36109 Accepted Submission(s): 24197Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我...原创 2018-04-07 21:32:10 · 178 阅读 · 0 评论