POJ 1654 乱搞题?】的更多相关文章

题意: 从一个点出发,8个方向,给出每一步的方向,求出走过的路径形成的多边形的面积. 思路: 先普及一下向量叉乘.. (摘自度娘) 也就是x1y2-x2y1. 那这不就好说了嘛. 一个经过原点的闭合多边形的面积可以分割成多个三角形. 每个三角形的面积就是相邻向量叉乘的一半. 大功告成~ 注意精度问题... // by SiriusRen #include <cstdio> #include <cstring> using namespace std; char a[1000005]…
题目链接:http://codeforces.com/problemset/problem/402/C /**算法分析: 乱搞题,不明白题目想考什么 */ #include<bits/stdc++.h> #define MAXN 1050 #define PI acos(-1.0) #define REP(i,n) for(int i=0; i<n; i++) #define FOR(i,s,t) for(int i=s; i<=t; i++) #define mem(a,b) m…
题目链接: C. Bear and Up-Down time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output The life goes up and down, just like nice sequences. Sequence t1, t2, ..., tn is called nice if the following two…
题目链接: B. Rebus time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output   You are given a rebus of form ? + ? - ? + ? = n, consisting of only question marks, separated by arithmetic operation '+' an…
题目链接: D. Little Artem and Dance time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Little Artem is fond of dancing. Most of all dances Artem likes rueda — Cuban dance that is danced by pairs…
分析(官方题解): 假设根已确定,可以发现新树若合法,需满足以下性质:根节点是n:儿子的值不大于父亲:具有相同值的节点形成一条链,并且链不会发生“分叉”(即有多个最低点).所以对于新树中有出现的值x,原树在新树x链的最低点应为x,而其他新值为x的点,原值应小于x.那么我们先将所有链的最低点放上对应值,而空着的点和还没用的值进行配对. 贪心使答案字典序最小:从大到小枚举未用的值,用大根堆维护该值可以填入的位置id,取最大id填入.(否则,若某一步的值a匹配了非最大id x,而最大id y在后面配了…
分情况讨论的神题... max不等于min + 1 或者不等于min,这种情况显然不存在. 如果都等于一个数 有两种情况: 互相独立,那么a[i]肯定==n-1 有相同的,那么a[i]一定不是独立的. 那么就会有a[i]即为出现颜色的总个数. 因为又不是独立的.所以每种颜色至少出现两次. 所以满足\(2 * a[i] <= n\)即可. 继续分析,如果max == min + 1的情况. n : 人数 一个点至少能看到有max - 1种颜色. max : 能看到最多的颜色. (总颜色) max…
题目链接 卡了一下精度和内存. #include <cstdio> #include <cstring> #include <string> #include <cmath> #include <iostream> #include <algorithm> using namespace std; #define eps 1e-8 #define N 1000001 #define LL __int64 ] = {-,,,-,,,-,…
题目大意: 每个人有五门课成绩,初始给定一部分学生的成绩,然后每次询问给出一个学生的成绩,希望知道在给定的一堆学生的成绩比这个学生每门都低或者相等的人数 因为强行要求在线查询,所以题目要求,每次当前给定的学生成绩都异或上一次的答案 先将学生按每一门成绩都排一次序 这里将学生分块成sqrt(n)的块数,然后在当前块中用bitset容器来记录含有学生的状态 这里可以记录状态的前缀和,因为比后面成绩好的,必然比前面的学生的成绩也好 查询的时候只要查到正好比他高的学生属于哪一块,这样只要访问sqrt(n…
两数组最短距离 点我挑战题目 题意分析 给出2个数组,让求出2个数组元素差的绝对值的最小值是多少. 我这里是o(m+n)的算法.首先对于第一个数组,让他的第一个元素和第二个元素比较,如果他的第一个元素比另一个数组的第一个元素大,那么首先记录一下差值,然后判断数组的下一个元素(即i++).反之判断记录差值并且判断另一个数组的下一个元素(j++),直到将两个数组都遍历一遍,差值所保存的结果是就是最后的最短距离. 当然还有o(n*m)的算法.那就是暴力,将第一个数组的第一个元素依次和第二个数组的每个元…
题意:要把一块n*m*k的巧克力分成1*1*1的单元,有两种操作方式:1,用手掰(假设力量无穷大),每次拿起一块,掰成两块小的:2,用刀切(假设刀无限长),可以把多块摆在一起,同时切开.问两种方式各需多少次操作才能完成任务. 分析:用手掰很明显是(n*m*k-1)次操作.用刀切注意不是((n-1)+(m-1)+(k-1))次操作,这只是不动原巧克力的操作数.举个例子:1*1*4的巧克力,用刀切,按上面说的要3次操作,实际上只需2次.所以不管是长宽高,都只需要[log2n](或m,k)次操作. 注…
题目链接: ztr loves lucky numbers  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536/65536 K (Java/Others) 问题描述 ztr喜欢幸运数字,他对于幸运数字有两个要求 1:十进制表示法下只包含4.7 2:十进制表示法下4和7的数量相等 比如47,474477就是 而4,744,467则不是 现在ztr想知道最小的但不小于n的幸运数字是多少 输入描述 有TT(1≤T≤10​5​​)组数…
/* 大连热身E题 不要低头,不要放弃,不要气馁,不要慌张 题意: 在1000×1000的格子内有很多个炮弹中心,半径给定. 为某人能否从西部边界出发,从东部边界走出. 不能输出不能,能的话输出最北边的入口和出口的坐标. 思路: dfs乱搞题.把炮弹辐射范围连在一起的炮弹看作一个整体,记录下它围起来的边界区域. 然后找到最北边的输出. */ #include<bits/stdc++.h> using namespace std; ],y[],r[]; int n; ]; ,mmin1=,mmi…
题意:题目太长直接看链接 链接:点我 乱搞题 显然,一个人要想成功,必须大于等于最强的人的战斗力,所以我们从后往前看 这里直接拿例1解释,首先递减排个序 15,13,10,9,8 作差得2,3,1,1, 此时我们从10出发即可成功 同时也发现,战斗力逐渐递增和直接到某个值其实是等价的 于是我们假设战斗力是从15-13-10-9-8变化的,观察这种变化能否成功即可 由13到15,变化为2,则从13出发剩余战斗力至少得提高2 从10到13,战斗力要提高3,而k为3然后10小于m,即成功 看一下反例2…
题目描述 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3.蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓.蛐蛐国里现在共有n只蚯蚓(n为正整数).每只蚯蚓拥有长度,我们设第i只蚯蚓的长度为a_i(i=1,2,...,n),并保证所有的长度都是非负整数(即:可能存在长度为0的蚯蚓).每一秒,神刀手会在所有的蚯蚓中,准确地找到最长的那一只(如有多个则任选一个)将其切成两半.神刀手切开蚯蚓的位置由常数p(是满足…
感觉全是思维乱搞题. Gym - 101775J Straight Master 给你n种扑克,你每次可以出连续的3 ~ 5 张,问你能否出完. Sample Input 2 13 1 2 2 1 0 0 0 0 0 0 0 0 0 13 1 1 1 1 0 1 1 0 0 0 0 0 0 Sample Output Case #1: Yes Case #2: No 相当于每次把一个长度为3~5的区间整体减1,问最后是否能够全部减成0. 显然,每次把一个长度大于5的区间整体减1也是可以的,因为6…
输入输出格式 输入格式: 仅一行包含一个正整数 NN . 输出格式: 一个整数,表示最右边的非零位的值. 输入输出样例 输入样例#1: 12 输出样例#1: 6 说明 USACO Training Section 3.2 毒瘤markdown复制不下来啊qwq. 这是一道数学题,也可以称为乱搞题.像我这样的蒟蒻见到数论一定先打表.这次打表很顺利. 用程序跑到了23!,再结合win7的计算器,苟且搞到了25!以内的数据.继续冷静分析.发现除了1!,其他的结果(尾数最靠右且不为0)只可能为2,4,6…
2016 10 28 考试 时间 7:50 AM to 11:15 AM 下载链接: 试题 考试包 这次考试对自己的表现非常不满意!! T1看出来是dp题目,但是在考试过程中并没有推出转移方程,考虑了打表,但是发现暴力程序的速度不够,直接交了暴力,没想到暴力程序爆0,考试后仔细查找发现是在深搜过程中的一个剪枝处忘记调整全局变量的值,,,低级错误要引以为戒!! for (int i = 0; i <= cur; i++) { a[x] += i; if (a[x] < a[x-1]) { a[x…
题意 https://vjudge.net/problem/CodeForces-1228D 有一个n个顶点m条边的无向图,在一对顶点中最多有一条边. 设v1,v2是两个不相交的非空子集,当满足以下条件时f(v1,v2)为真 v1中的点之间不存在边 v2中的点之间不存在边 对于在v1v2中的每一对顶点,x在v1中,y在v2中,xy之间有边 所有点集不为空,且不相交,是否有v1,v2,v3使得f(v1,v2).f(v2,v3).f(v3,v1)均为真 如果有输出每个点所在的点集(1,2,3),否则…
Atcoder 题面传送门 & 洛谷题面传送门 神仙调整+乱搞题. 首先某些人(including me)一看到最大值最小就二分答案,事实上二分答案对这题正解没有任何启发. 首先将 \(a_i\) 从小到大排序.我们考虑将分配的点对看作一条条线,对于 \(a_x+a_y<M\) 的点对 \((x,y)\) 我们在 \(x,y\) 之间连一条蓝线,对于 \(a_x+a_y\ge M\) 的点对我们在 \(x,y\) 之间连一条红线. 先抛结论,再给证明:如在最优分配方式中,我们的连线方式肯定是…
Codeforces 题目传送门 & 洛谷题目传送门 一道很神的乱搞题 %%% 首先注意到如果直接去做,横纵坐标有关联,不好搞.这里有一个非常套路的技巧--坐标轴旋转,我们不妨将整个坐标系旋转 \(\dfrac{\pi}{4}\),即对于原来坐标系中的一个点 \(x,y\),映射到新坐标系上的坐标为 \((x+y,y-x)\),经过这样的转化,原来坐标系中的上 \((0,1)\) 下 \((0,-1)\) 左 \((-1,0)\) 右 \((1,0)\) 就变为了 \((1,1),(-1,-1)…
Rounders Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7697   Accepted: 4984 Description For a given number, if greater than ten, round it to the nearest ten, then (if that result is greater than 100) take the result and round it to th…
题目描述 给出一个长度为 $m$ 的序列 $a$ ,编号为 $a_1\sim a_m$,其中 $n$ 个位置的数已经确定,剩下的位置的数可以任意指定.现在令 $b$ 表示 $a$ 的前缀异或和,求 $\sum\limits_{i=1}^mb_i$ 的最小值. 输入 输入第一行两个非负整数n,m,分别表示原始序列a的长度及剩余元素的个数. 之后m行,每行2个数i,ai,表示一个剩余元素的位置和数值. 1<=N<=10^9,0<=M<=Min(n,10^5),0<=ai<=…
思路: 1.DP f[i][j]:前i个数 最后一个数是j的最小花费 f[i][j]=min(f[i][j],f[i-1][k]+(a[i]!=j));1<=k<=j 这种做法比较有普遍性- 2. 直接枚举断点乱搞不就行了嘛- 枚举在哪儿转折成的2 (注意全是1或者全是2的情况就OK了) //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using namespa…
题意:给一个长度为n数组{a[i]}.有m个操作Ti,Si,Li表示找以Ti值结束,以Si值开始,长度为Li的连续子串.找到后,将区间的答案值设为1.一开始答案值全部为0.最后输出n个答案值. 好久没打题了 算法:排序,乱搞.主要是要考虑到排序的时候,len大的放前边,这样可以break省掉不少时间.最后注意题目要求的输出顺序,是类似于输入顺序的理解. #include <cstdio> #include <cstring> #include <iostream> #i…
2937: [Poi2000]建造酿酒厂 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 70  Solved: 24[Submit][Status][Discuss] Description Abstinence岛上的居民很喜欢饮用纯酿的啤酒.迄今为止,他们都是从波兰进口啤酒,自己不生产.但今年岛上的一个城市决定建造一个酿酒厂,供给其他城市的啤酒需求. 岛上所有的城市都环绕在海岸线上,相邻两城之间用高速公路连接(也就是说,它们近似分布在一个圆上).…
题意: 在一个(n+1)*(m+1)的网格点上种k棵树,树必须成一条直线,相邻两棵树距离不少于D,求方案数. SOL: 这题吧...巨坑无比,本来我的思路是枚举每一个从(0,0)到(i,j)的矩形,然后在对角线上容斥....这他妈太麻烦了吧... 首先我们要避免重复,其次我们要方便统计,然后就滚去想啊...横竖不说了吧...对于对角线我们枚举(0,0)--->(i,j) 的矩阵,并且0,0和(i,j)均中上树,那么剩下的树只可能在对角线上,然后组合数乱搞----->真乱啊...都搞不出来...…
1011: [HNOI2008]遥远的行星 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 1444  Solved: 465[Submit][Status] Description 直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=AJ.此时J受到作用力的大小为 Fi->j=Mi*Mj/(j-i) 其中A为很小的常量,故直观上说每颗行星都只受到距离遥远的行星的作用.请计算每颗行星的受力…
看数据范围像是个暴力,而且理论复杂度似乎可行,然后被卡了两个点...然后来了个乱搞的线段树+扫描线.. 3225: [Sdoi2008]立方体覆盖 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 102 Solved: 64 [Submit][Status][Discuss] Description A君近日为准备省队选拔,特意进行了数据结构的专项训练.训练过程中就遇到了"矩形面积并"这道经典问题,即:给出N个各边与坐标轴平行(垂直)的矩形…
感觉这两天一直在做乱搞的题... 1491: [NOI2007]社交网络 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1279 Solved: 732 [Submit][Status][Discuss] Description Input Output 输出文件包括n 行,每行一个实数,精确到小数点后3 位.第i 行的实数表 示结点i 在社交网络中的重要程度. Sample Input 4 4 1 2 1 2 3 1 3 4 1 4 1 1 Sa…