
模拟
文章平均质量分 64
bookybooky
http://blog.163.com/happyliyifan126/
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 2714 : Random Walk - 贪心
这题用到的那个关于定义运算符的方法不太懂!分析参考:http://www.cnblogs.com/LyonLys/archive/2012/08/20/poj_2714_Lyon.html因为每个向量的方向都不同,所以就可以将向量按圆周顺序排一下序,然后枚举每半个圆周的向量和,找出最大值就行了。这里是用了贪心的思想,尽量将向量放到同一侧,这样就可以尽可能大的构造一个和向量!2714Accepted原创 2015-01-10 21:46:27 · 871 阅读 · 0 评论 -
POJ 2527 : Polynomial Remains - 多项式除法
多项式除法取余。也可模拟。输入:多个测试样例,每个样例第一行是n、k(0~10000),第二行n+1个整数给出a(x)的系数,以a0开始,an结束。n = k = -1时输入结束。输出:对每个测试样例输出余数的系数。从常量系数r0开始。若余数是0,则输出常量系数0;否则若余数是d次的,就要输出d + 1个系数,之间用空格隔开。思路:多项式各项系数存储原创 2015-03-04 23:26:44 · 675 阅读 · 0 评论 -
POJ 1782/ ZOJ 2240 : Run Length Encoding - 字符串处理(模拟)
题意需要稍微理解一下。如果是连续的数就打印他的长度和字符,但不能超过九个如果是不连续的,那么就在这段不连续的字符两边各打印一个1,如果是是字符1就打印11,否则打印字符本身#include#include#includeusing namespace std;const int N = 1100;char str[N], s[N];int a[N];int main()原创 2015-03-05 22:13:39 · 663 阅读 · 0 评论 -
POJ 2126 / ZOJ 2431 : Factoring a Polynomial - 易(判断多项式是否能够分解)
输入:一组测试样例。第一行n,表示多项式的度(0~20);下一行给出n + 1个整数,an a[n-1], …, a[0],表示多项式系数(-1000~1000,且不等于0)输出:如果不可化简输出YES,否则输出NO。(第一次交的时候搞反了……)思路:如果n 如果n > 2,一定可以化简,这是能够证明的,NO;(实系数多项式因式分解定理 每个次数大于零原创 2015-03-04 23:34:13 · 791 阅读 · 0 评论 -
POJ 3094/ ZOJ 2812: Quicksum 【.get()】
【各个字母所在位置顺序序号与该字母在字母表中顺序序号(表示方法和汇编原理一样的,都是ASCII码,一开始脑抽居然忘了)的乘积之和】cin.get()用法1: cin.get(字符变量名)可以用来接收字符用法2:cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格 cin.getline() // 接受一个字符串,可以接收空格并输出 getline() // 接原创 2015-01-10 21:41:00 · 611 阅读 · 0 评论 -
POJ 2756 : Autumn is a Genius - java大数
(寒假马拉松 第八场 B题)java解法参考C++解法:小灰灰的高精度高精度 参考import java.io.*;import java.util.*;import java.math.*;public class Main{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); int i,n=原创 2015-01-10 21:46:16 · 634 阅读 · 0 评论 -
ZOJ 3770 : Ranking System (第14届浙江大学程序设计竞赛 D) - 结构体排序,vector
【分析】先按题目要求排序——我是写了俩排序函数,再按照等级人数限制进行划分即可。读入的各种数据存在结构体中,对结构体按成员排序用vector很方便——今天现学的——书到用时方恨少啊,唉。#include#include#include#include#includeusing namespace std;const int N=2005;int d[7];struct Memb{ int sc,y原创 2015-01-10 21:46:55 · 779 阅读 · 0 评论 -
POJ 3069 : Saruman\'s Army - 贪心
大意:给出一维直线上n个点的相应坐标,和一个参数——距离R,给n个点中尽可能少的点做标记,使得n个点中,任意一个点,在R距离内都有被标记的点。思路:首先从最左边开始考虑,显然,从左边起,标记的第一个点,在最左边点的右侧。且选择距离R内 距离其最远的点。接着,把上一次标记的这个点 能影响的最右边的点 的下一个点,作为最左边的点,开始又一次标记。#include#include#include#i原创 2015-01-10 21:47:25 · 561 阅读 · 0 评论 -
POJ 1107 : W\'s Cipher - 密码,字符串模拟
题意:对于一个仅含有a-z与下划线的字符串进行一下方式编码。1、给定3个数,所有字符分作3组,a-i一组,j-r一组,其余一组。其中每一组对应与3个数中的其中一个数。2、对于每一组,将每个字符循环左移k位,其中k为该组对应的数。循环左移一位是指循环地移动到上一个该组字符的位置。现给定一个字符串编码后的形式,求其编码前的形式。分析:模拟题。题目已经将编码方式描述清楚了。根据其编码方式,反过来模拟其解原创 2015-01-10 21:44:41 · 1117 阅读 · 1 评论 -
POJ 2796 : Feel Good - 区间运算最值
(寒假马拉松第一场 G题)题意:本题主要就是要求一个数列里面,连续的几个数的和乘以这个连续段里最小的一个数,在所有这样连续数列里最大的一个分析:我是简单模拟着做的,直接输出最大值就可以了。网上很多都说,用单调栈 / 单调队列,要去学习学习!2796Accepted2612K797MSG++849B2014-02-10 17:07:51#include#include#include#define原创 2015-01-10 21:46:07 · 563 阅读 · 0 评论 -
POJ 2159 : Ancient Cipher - 密码模拟
题意:含义是指:将任意字母替换为任意一个字母,只要不出现多个字母替换成同一个就可以,即为一一映射。因此,我们只需要判断两个字符含有的不同的字母数量以及对应出现的次数都相同就行了。分析:“移位”只是置换密码的一种,只要满足“Substitutes for all letters must be different.”就是置换了,比如A->BC->HZ->D对于这道题,input:AAABBCCCEE原创 2015-01-10 21:44:45 · 574 阅读 · 0 评论 -
POJ 1607 /ZOJ 1216 : Deck - 整齐输出
很水的啦。有点像1045那种额。直接等比数列。sum=1/2+1/4+…+1/2*i......注意:POJ 中,G++编译须用f输出; C++编译则用lf输出....否则会wa的。呵呵......水得呀...不过可以学习一下输出位宽整齐的方法。1607Accepted188K32MSC++301B1607Accepted728K32MSG++300B#include#include#includ原创 2015-01-10 21:44:56 · 756 阅读 · 0 评论 -
POJ 1835 : 宇航员 - 模拟,三维向量旋转
(OJ 寒假马拉松 第五场 E题)从别人博客看到较精炼的解法思路:用一个三维向量记录人的身体朝向的信息——面朝的方向,身体竖直方向向上的方向,人左臂平伸的方向。6种变换就是对这个向量的操作。(详见代码)注意:题目是左手坐标系另外可以参考这里,方法相同。#include#includeusing namespace std;int main(){ char s[10]; int t,n,x,y,z,原创 2015-01-10 21:46:23 · 728 阅读 · 0 评论 -
ZOJ 2478: Encoding 【string】
处理连续重复的字符。把字符串中连续重复的字母从左到右写成kX的形式,如果k是1省略。*边计算边输出结果!熟练掌握标准库string类型的用法。#include #include using namespace std;int main (){string s,t;int n;cin>>n;for(int i=0;i{cin>>s;int c=0;t=s[0];int temp=0;for(int原创 2015-01-10 21:41:07 · 623 阅读 · 0 评论 -
POJ 2973 : Scrabble - 字符串
(寒假马拉松 第二场 B题)字符串处理题意:判断最后一个字符串是否可以组成前面的字符串,输出可以组成的数量,‘_’代表可以任意字母。In the first test case, PIZZA, ZA and PITA can be spelled as PIZ_A, ZA and PI_A. There are not enough letters to spell PROGRAM or CONT原创 2015-01-10 21:46:11 · 601 阅读 · 0 评论 -
POJ 1060/ ZOJ 1026 : Modular Multiplication of Polynomials - f(x)g(x) mod h(x)
多项式乘法、模除题意:给出f(x),g(x),h(x)的 (最高次幂+1)的值,以及它们的各项系数,求f(x)*g(x)/h(x)的余数。这里多项式的系数只有1或0,因为题目要求:这里多项式的加减法是将系数相加/减后再模2,这样其实也就可以用异或运算来代替加减法。思路:主要在于把除法转化成减法,一次一次减。用sum[]数组存结果,最高次幂为ls,各项系数存在f[ls-1 … 0]1 - 计算乘积,原创 2015-01-10 21:47:10 · 993 阅读 · 0 评论 -
POJ 2246/ ZOJ 1094 : Matrix Chain Multiplication - 矩阵相乘,模拟
大致题意:计算数个矩阵乘法,需要相乘的次数。思路:2个矩阵m*n、n*l的数值矩阵A、B相乘,成绩存入m*l的数值矩阵C,相乘次数为m*n*l。使用一个字符指针p,1-@-当前字符为“(”,则字符指针+1,递归计算括号内表达式t1、t2,p+1。 若t1、t2行数不相等,失败标志error设为1; 否则计算相乘后的乘积矩阵t。[ t.rows ; t.cols ; t.mults ]2-@-当前字原创 2015-01-10 21:47:14 · 802 阅读 · 0 评论 -
POJ 2680 / ZOJ 2584 : Computer Transformation - 打表+找规律+高精度 / java大数
(寒假马拉松第一场 O题) java大数这么有用啊@_@java得熟练熟练,今天交题才发现就要忘光了啊==!想法参考这位同志,感谢。题意:开始的数字是1,每次1变为01,0变为10,问经过n步后,有多少对连续的0,即多少对00.分析:打表很容易发现规律。再用java的高精度(大数)得到结果就行了。设ans[i]是变换i次后的结果,由以下打表程序运行前面的较小的数(这里是前10个数)不难发现,当i为原创 2015-01-10 21:46:00 · 624 阅读 · 0 评论 -
BestCoder 2015百度之星资格赛1003 IP聚合 -
Problem Description当今世界,网络已经无处不在了,小度熊由于犯了错误,当上了度度公司的网络管理员,他手上有大量的 IP列表,小度熊想知道在某个固定的子网掩码下,有多少个网络地址。网络地址等于子网掩码与 IP 地址按位进行与运算后的结果,例如:子网掩码:A.B.C.DIP 地址:a.b.c.d网络地址:(A&a).(B&b).(C&c).(D&d)原创 2015-05-25 21:15:02 · 892 阅读 · 0 评论