XDOJ】的更多相关文章

xdoj  1241---余神的rp机 核…
bfss是解决最短路径的强大武器 (尝试dfs寻找最短路径 -(7*7)就会爆炸) 例题1  ccf 201604-4  游戏 问题描述 小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列. 方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关.第一行第一列和第n行第m列永远都是安全的. 每个单位时间,小明的角色…
题目链接:http://acm.xidian.edu.cn/problem.php?id=1046 题目描述 请输出两个数的和,差,积,商,取余.注意不要有前导零. 输入 多组数据,每组数据是两个整数A,B(0<=A<=10^100,0<B<=10^100). 输出 对于每组数据,输出五个整数,分别代表A+B,A-B,A*B,A/B,A%B. 样例输入5 211 3 样例输出7 3 10 2 114 8 33 3 2 模板注释: 本模板只能处理十进制非负大整数. AC代码: #in…
先分析复杂度,给的数据是1e5的,那么我们至少需要一个nlogn的算法才可以.由于答案是一个数字,首先想到是二分法(一般答案是一个数字都可以通过二分法来完成) 下面是思路: 1.可以完成题目的条件是,每道题需要使用黑科技的次数一定要小于总的分钟数,计算每道题需要黑科技的次数这里要用到向上取证9/5=2,这里写了一个cal函数,比较方便实现,用强制转换ceil函数啥的有点麻烦,当然这个貌似是只能完成正整数的转换. 2.然后用二分查找,正常的二分查找是可以找到mid满足条件,且是唯一的mid.此题在…
http://acm.xidian.edu.cn/problem.php?id=1299 1.第一道题简单的很,数据范围最多只有1e4,对于数组中的每一个元素进行两个for循环,i=0;i<n;i++ j=i+1;j<n;j++这样就写了一个O(n²)的算法,1e8完全可以在1s内解决. http://acm.xidian.edu.cn/problem.php?id=1300 第二题就没这么简单了,扩大了数据范围到1e5,这样的话你再写循环1e10肯定超时.这就要想出新的办法.后缀最小值. 先…
http://acm.xidian.edu.cn/problem.php?id=1310 1. 这道题可以类比括号匹配,YY和yy是两组可以匹配的信号,当然要注意逻辑是否正确,一开始进行括号匹配算法的时候逻辑出了问题,导致卡在for循环里面出不来结果,这种时候不要只盯着代码看,拿着样例代入一下就知道哪里有写的不严密的地方. #include <bits/stdc++.h> using namespace std; int main() { string str; stack<char&g…
1.首先需要掌握二进制数的一种特性,00=0,01=1,10=2,11=3.每一个二进制的值代表他前面的二进数的个数,比如11=3,他的前面就有三个二进制的数字,不过在本题中,题目数据是1-n,故把0抛弃掉,答案就变成了3-1=2个,但还要加上自身的话,就还是二进制的值.比如10=2,前面有01和10.11=3,前面有01 10 11.以此类推.2.那么问题就转化成了要求出小于等于给出十进制数字的最大二进制数,求出他的值即可.比如123,最大就是111,结果就是7.3. 问题转化成求最大的二进制…
我是打表找的规律 233 样例什么作用都没有 只会迷惑作用... 1330: 天才琪露诺的完美算数教室 时间限制: 1 Sec  内存限制: 128 MB  Special Judge提交: 37  解决: 17[提交][状态][讨论版] 题目描述 みんなー ちるのの算数教室はじまるよー アタイみたいな天才めざしてがんばっていってねー 今天,琪露诺教大家异或运算. “参与运算的两个值,如果两个相应位相同,则结果为0,否则为1. 现在,泥萌已经掌握了异或的基本知识,现在来一道题大展身手吧!” 琪露…
题目分析 : (8 4) 可以由(7 4),(6,4),( 4,4) 基础上转化 意味着一个新加入的元素可以按照它加入的方式分类,从而实现动态规划 核心:加入方式 新加入的元素构成转换环的元素个数(n的约数) eg: (8,4) 新加入元素自己单独一个环 (7,4) (6,4)新加入元素自己构成二元环 (6,4) (4,4)新加入元素自己构成四元环 (4,4) #include <bits/stdc++.h> using namespace std; typedef long long LL;…
提示:  当有的元素分裂的同时,其他元素也可以+1 分析: 逆向思维,把当前数列变成一个0: 相应得操作相反: 每个元素减1 相同得两个元素可以合并 设数列中最大的数是max,则一共需要减max次才可以把所有的数字变成零 每次减一的过程 非零元素减一 零元素合并 最后剩余下k个零 再把K个零变成一个零.....半年不看,都忘了当初怎么想的了.自己真是菜 #include<cstring> #include<algorithm> #include <iostream> u…