模拟题
文章平均质量分 74
自在_飞花
这个作者很懒,什么都没留下…
展开
-
SDUT1482——二元多项式
题目链接: http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=1482&cid=1180 关键在于对字符串的操作。 两种情况: ‘+’ 此时要把x和y指数均相同的项的系数相加。若链表中不存在系数相同的,则按优先级顺序插入当前项。 ‘*’ 把任意两项(不属于同一式子的两项)都要相乘。系数相乘,指数相加。原创 2013-09-18 15:20:46 · 1108 阅读 · 0 评论 -
CodeForces 375B Maximum Submatrix 2
说来惭愧,虽然已经做了几场CF了,但这还是第一次挑战D题,还是Div.2 的D题. . . . . .好了,下面来看题意。给出一个大小为N*M的只有‘0’和‘1’组成的矩阵,找出一个最大的只有‘1’组成的子矩阵。对于每一个位置保存一下从左边到当前位置有多少个连续的‘1’,然后问题就从二维就变成了一维,剩下的就很简单了,不再赘述。话说这个题虽然思路很明确但还是TLE了很多次。一开原创 2013-12-25 14:54:09 · 1725 阅读 · 3 评论 -
POJ 1396 Simple Arithmetics
貌似在大一的时候就看见过这个题,当时很丢人的知难而退了。今天周赛又碰见了这道题,要是再不A掉就真对不起这道题了。感觉这道题唯一的坑就是横线,横线的长度只取决于其上下两个数。再就是一个数是0时,要记得输出一个0.话说今天差点就被这个题搞吐啦,一直以为自己错在了横线的规则上,然后学姐甩过来一组数据,直接给跪了。。。。开始的时候,代码没有这么挫的。。。。因为一直在TLE,然后就改成这个烂样了原创 2014-02-15 21:00:42 · 1514 阅读 · 0 评论 -
ZOJ 3697 Bad-written Number
dp[ i ][ j ] += dp[ i-1 ][ k ],match(j,k). 与其说是DP,不如说是模拟题。第一个和最后一个数字要单独讨论,中间的要符合剩下的条件:中间一列和剩下的两列中的 ‘| ’要全部符合输入状态。且衔接部分要取 '|' 的并集,且并集要与输入状态相同。第一个数字要前两列全部符合输入状态,最后一个数则要后两列。 为毛已到周赛就各原创 2014-03-15 19:23:08 · 1232 阅读 · 0 评论 -
CodeForces 402D Upgrading Array
好像没有什么要说的,主要是两个数组的数据范围太大,要做好优化,避免因子的重复计算。预处理:首先计算出 a[] 初始时的 Max = sigma f(a[i]) (1 然后,对于 a[i] ,计算出所有的 gcd[i] ,可以从左边开始递推,时间复杂度o(n).从gcd[n] 开始往左遍历,若f( gcd[ i ] ) 继续枚举 i ,若 f(gcd[i] / gcd[site]原创 2014-03-17 09:54:47 · 1101 阅读 · 0 评论 -
HDU 4814 Golden Radio Base
很显然是个进制转换的题,根据题意有a^2 = a + 1 -> a^n = a^(n-1) + a^(n-2),这样就能消除两个连续1。另,a^3 = a^2 + 1 = 2*a+2 = 2*(a+1) = 2*a。这样就可以将悉数转化为01。10^9大约是2^30,所以总长度不超高150,直接模拟就好了。#include #include #include #includ原创 2014-11-18 20:46:36 · 801 阅读 · 0 评论 -
Codeforces 21C Stripe 2 卧槽,出题人母语绝对不是English啊
sum = sigma num[i] (1 s[i] = sigam num[j] (1找到所有满足s[i]*2 =sum-s[i] ,s[i] = 2*(sum-s[i])。然后枚举累加一下。卧槽,可是题意里明明说每个 piece 里 都要有positive interge。可是去了这个限制就过了啊。#include #include #include #include原创 2014-11-06 20:29:19 · 1192 阅读 · 0 评论 -
Codeforces 30D King's Problem? 模拟
首先将n个点排序,找出排序后的K,然后分情况讨论。当 k == n+1时,显然是 k->1->n || k->n->1这两种的较小值,因为三角形的两边之和大于第三边。当1 1 , k -> 1 -> n+1 -> k+1 ->n || k -> n -> n+1 -> k-1 -> 1,当k+1 || k-1 不存在时将对应步骤忽略。2 , k - > 1 -> n+1 ->原创 2014-11-06 13:16:32 · 893 阅读 · 0 评论 -
2014级第一次选拔赛题解
A回 完全背包转01背包,01背包的二进制优化。对于N种商品,每种Mi件,收益为Pi,体积为Vi。可以看做有sigma(M)件这样的商品,每种商品只有要或不要两种状态,于是完全背包转化为01背包。此时的时间复杂度为O( sigma(Mi)*V ),二进制可以优化到O(sigma(log(Mi) )*V );对于[1,n]区间内的所有整数可以有2^0,2^1,.,2^i, 以原创 2015-03-08 15:18:21 · 924 阅读 · 0 评论 -
CodeForces135C Zero-One
明明记得中午交的最后一遍是WA,晚上一看竟然变成了Accepted,好神奇,还有比这来的更突然,更让人鸡冻的吗......题意:给出一个只有‘0’,‘1’,‘?’组成的字符串,每人每次必修删且只删掉一个,直到字符串剩下两个字符。先手每次都要让剩下的字符串尽可能的大,后手则尽可能的小。 对于有’?‘的则输出所有的情况。思路:只是这道题就是在讨论0,1,?的个数的关系。当?的变化起不原创 2013-11-11 17:58:11 · 1270 阅读 · 0 评论 -
POJ 1129 Channel Allocation
在一个区域内,有许多电台,如果覆盖有交集的话可能会互相干扰,唯一的解决方案就是使用不同的频道。 但是频道这种资源非常珍贵,所以应使用尽量少的频道。 感觉是模拟题,不知道为啥放在了搜索里面。Discuss里面有大牛说用四色定理,作为一名离散只考了70+的选手也没有去看......也可能是后台比较水,我的这种方法竟然也是0ms。 解题思路都写在了注释里。 1 #include原创 2013-09-18 15:22:00 · 736 阅读 · 0 评论 -
POJ 3087 Shuffle'm Up
赤裸裸的模拟题。。 给出字符串 s1,s2,s12;判断s1,s2能够通过题目中所给的规则到达 s12。每次只会产生一种新的状态,还BFS个毛线-- s1的首位新生成的字符串的首,s2的尾为新生成字符串的尾。中间的字符依次交叉排列。 再将新生成的字符串的前一半给s1,后一半给s2。 重复上述两步 直到到达 s12 或者 新生成的字符串已经出现过。 前者输出步数,后者输原创 2013-09-18 15:21:53 · 643 阅读 · 0 评论 -
SDUT—2057 模拟题
#include #include #include #include #include using namespace std;struct N{ int data; char name[21]; N *next;};N *creat(){ N *p = (struct N *)malloc(sizeof原创 2013-09-18 15:20:44 · 717 阅读 · 0 评论 -
POJ 3393 Lucky and Good Months by Gregorian Calendar
英语阅读理解一篇。少数有用的信息掺杂在一大陀无用的废话里面。定义:Goog month : 该月第一个工作日为星期一的月份Luckly month: 该月最后一个工作日为星期五的月份问: 给定一个Gregorian Calendar格里高公历的 时间闭区间(就是包括端点的年月了)【开始年、月】~【结束年、月】 在这个时间区间内,有多少个Goog原创 2013-10-05 18:56:41 · 1549 阅读 · 0 评论 -
POJ 3371 Flesch Reading Ease
无聊的模拟题。句号,冒号,分号,问号,感叹号,算一个句子。最后注意一下把-ed,-es和-e(-le除外)去掉就可以了。#include #include #include #include #include #include #include using namespace std;char s[2000];bool judge(char a){原创 2013-10-06 11:52:56 · 1073 阅读 · 0 评论 -
POJ 1472 Instant Complexity
又见神模拟题。。。。。虽然处理起来感觉比较麻烦,但是思路还是比较清晰的,就是一个普通的栈。代码写的挫了一点....注意 LOOP 0 的情况。#include #include #include #include #include #include #include using namespace std;struct N{ int ty,coe,in原创 2013-10-05 21:15:02 · 1075 阅读 · 0 评论 -
ZOJ Candies 2013年长沙赛区网络赛
设人数为 n。当 n%3 != 2 时,每三个人里面可以确定两个人。当 n%3 == 2 时,每三个人里面只可以确定一个人。此时需要就需要枚举了,详见代码。#include #include #include #include using namespace std;int a[100020] = {0};int s[100020] = {0};int t[10002原创 2013-09-23 15:41:38 · 1058 阅读 · 0 评论 -
POJ 2706 Connect BFS + 判断线段相交
题意:在n*n的棋盘上有依次放上m个棋子。黑子先手。判断最后一个黑子所连成的线段能否贯穿其区域。若两颗子中间已有直线存在(端点除外),则此两子不能连。且在最后一个黑子之前,不存在黑子连线贯穿整个区域的情况。判断两线段相交:因为此题不存在水平线段或者数值线段,所以可以丧心病狂的使用斜率。设t1,t2为等待被连线的两个点,该线段所在直线斜率为k1,截距为b;设t3,t4为有可能原创 2013-10-10 10:40:11 · 991 阅读 · 0 评论 -
Step1
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n]; for (int i = 0; i ...原创 2018-08-19 20:37:57 · 1156 阅读 · 0 评论