搞这个题差不多是从比赛开始到结束. 从自信慢慢的看题一直到wrong到死. 这个题目可以说成是思路题,以为我们只要明白一点,这道题就成了纯暴力的水题, 那就是当操作数不足栈中数字数目的时候,我们就没有必要复制了. 注意数组要开足,如果是一路复制的话,2^20就可以到10^6次方级了,在cur<n的情况下,cur的范围是有可能超10^6的,所以,我们至少要开到2*10^6大小. 代码如下: #include <cstdio> #include <cstring> #includ…
搞死人的题目,,, 就是在n*n的方格中找路径长度为L的回路. 开始的思路值适合n为偶数的情况,而忽视了奇数的case,所以wa了一次. 然后找奇数case的策略,代码从70多行变成了100多,然后改了又改,自己在下面测了好久,交上去1y,但心里却无成就感. 这样的一个题目,提不上什么思路,可以算作是乱搞的,下次比赛中再次碰到类似甚至同样的题目,我并不能保证能写出来. 代码如下: #include <cstdio> #include <cstring> #include <c…
水题一个,代码挫了一下: 题意不好理解. 你去一个洞窟内探险,洞窟内有许多宝石,但都有魔法守护,你需要用魔法将它们打下来. 每个宝石都有自己的防御等级,当你的魔法超过它的防御等级时它就会被你打下来. 但是,当它被你打下来的时候,它会反弹你的魔法.如果反弹的魔法过强,你就会被自己的魔法杀死. 很不幸的是,你的魔法是群体性的,你不能选择攻击谁,只要防御等级低于你魔法水平的宝石都会被你打下来.并且每个都会反弹你的魔法. 你可以假设你的魔法水平无限大,但你躲避反弹的魔法的能力却并不是很强. 输入: 第一…
大意: 有一张N*N的网格,你每次可以走一步,每格只能走一次,有没有一种方法让走了L步后回到一个距原点1步远的格子?  没有输出Unsuitable device,否则输出Overwhelming power of magic并输出方案.  一开始用DFS 奇偶剪枝了还是TLE, 代码如下: #include<iostream> #include<cstring> #include<cmath> #define N 110 using namespace std; in…
题目 #include<cstdio> #include<algorithm> using namespace std; #define N 1005 int n, m, cnt; int a[N], b[N], dp[N]; //dp[i]表示到a[i]大的怪物都死最少要多少个spell int main() { scanf("%d%d", &n, &m); for(int i = 1; i <= n; i++) { scanf(&quo…
307. Range Sum Query - Mutable 思路:利用线段树,注意数据结构的设计以及建树过程利用线段树,注意数据结构的设计以及建树过程 public class NumArray { class segmentNode{ int start; int end; segmentNode left; segmentNode right; int sum; public segmentNode(int start,int end){ this.start = start; this.…
题目如下: Suppose you have a random list of people standing in a queue. Each person is described by a pair of integers (h, k), where h is the height of the person and k is the number of people in front of this person who have a height greater than or equ…
题目链接 \(Description\) 给定\(n,m,C\)及大小为\((n+1)(m+1)\)的矩阵\(c[i][j]\).平面上有\((n+1)(m+1)\)个点,从\((0,0)\)编号到\((n,m)\). 在任意时刻,你可以选择在当前点\((x,y)\)获取任意实数个单位的能量,获取每一单位需花费时间\(c[x][y]\): 也可以选择从一个点移动到另一个点,花费的能量是移动路线的欧几里得距离(只可以沿与坐标轴平行或与坐标轴夹角\(45^{\circ}\)的方向走),不花费时间.…
http://acm.timus.ru/problem.aspx?space=1&num=1040 题目要求在一个联通无向图中找出一种方法给边标号使得任意一个有多条边的点,边的号码的最大公约数都为1 想象在dfs树上,以1为根进入,将第一条边标为序号1,则节点1满足条件 剩下的边遵照dfs顺序表明,那么非叶节点一定满足从父亲到自身的树边和自身的另一条边序号相邻 所以直接dfs标号即可 #include <cstdio> #include <cstring> #include…
http://acm.timus.ru/problem.aspx?space=1&num=1830 这道题需要理解题目操作的意思, 要更改第i位的状态,第i-1位必须激活为1,0-i-2位必须为0,如果0-i-1位开始时全为0,那么从0位开始进行操作 一.首先考虑对于0-i-1位都是0,需要更改i位的情况,需要 1.更改i-1位,2.按一下打开下一页 对于更改i-1位,需要1.更改i-2位,2.按一下打开下一页,3.更改i-2位 可以得到一个式子,设f[i]为第0-i-1位均为0时,使得状态成为…