模拟
a1s4z5
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVa 1368 DNA Consensus String
这题刚开始居然没理解题意给了一个DNA距离的定义就是相同位置但不同的元素的个数然后给你m个长n的DNA串一开始理解为求到最后一个距离最短的序列然后样例过不了。。再然后仔细看了一遍题目是求到所有的DNA串距离和最短的DNA串思路嘛,统计每一个位置出现的字符的数目找到最多的那个,如果有两个一样。。字典序走你至于怎么想出来的~~草稿纸大法好get了原创 2014-12-19 20:29:03 · 498 阅读 · 0 评论 -
Codeforces 349E - Subset Sums
有n(n≤105)n(n\le 10^5)个数,有mm个下标的集合(集合的大小之和小于10510^5)维护两个操作询问操作:? k?\ k 将下标在第k个集合内数求和输出更新操作:+ k x+\ k\ x 将下标在第k个集合内的数都+x+x因为集合的大小之和小于10510 ^ 5,不妨记集合的大小之和为S考虑将集合分类。将大小超过 S−−√\sqrt S的集合称之为大集合,大小小于S−−√原创 2016-11-02 12:01:59 · 470 阅读 · 0 评论 -
Codeforces 677 C Vanya and Label
按位考虑大水题,,感觉没有什么好说的。。还是看代码吧#include<cstdio>#include<cctype>#include<cassert>#include<algorithm>using namespace std;#define LL long longconst int mod = 1000000007;int cove(char c){ if(isdigit(c原创 2016-06-02 21:17:26 · 486 阅读 · 0 评论 -
sdut 3254 stars
给出平面坐标的n(n≤400)n(n\le 400)个整数点(坐标为(x,y)(0≤x,y≤n)(x,y)(0\le x,y\le n),求最小的边长为整数的能至少覆盖kk个点的矩形的面积考虑到n只有400,我们可以枚举矩形的平行于x轴的两条边的坐标,这样的话就退化为了给出一个数组求一个最小的区间并且区间内的数的和大于等于k,这部分可以用双指针来做为了方便起见,我们可以预处理一下二维前缀和其它的细节原创 2016-05-30 17:42:35 · 602 阅读 · 0 评论 -
Poj 1472 Instant Complexity
某模拟题感觉题意什么都不难,就是给你一些语句让你计算那些语句计算的次数模拟题,写了两个结构体然后用递归搞好像简单了一点?坑OP 0LOOP 0ENDBEGINOP 1END大概就这三个以及代码(------------------------------------#include#include原创 2016-01-21 17:58:39 · 515 阅读 · 0 评论 -
Poj 1027 The Same Game
又是一个模拟题。。。。给出一个棋盘,然后每次要去消除消除后能得到分数最多的棋子每次消除的时候这个棋子和与它相邻(四联通)并且同色的棋子(如果没有和他相邻并且同色的棋子,那这个棋子不可消除如果有多个位置可以选择,更靠左的,要是还是有多个位置,选靠下的消除之后把所有的棋子往下移,然后再往左靠拢然后如果干掉所有的棋子了,分数+1000大概就是这样(原创 2016-01-22 09:03:34 · 521 阅读 · 0 评论 -
UVa 1587 Box
略水的一题给你六个面,判断能不能组成长方体定义一个mian的结构体{int 长;int 宽;};输入的时候严格按照长大于宽输入然后sort长相等的时候按宽排序这样三对面就排在一起了然后判断第一次写这么长的判断 Orz一次过。~( ̄▽ ̄~)(~ ̄▽ ̄)~ ps:刚开始敲的时候以为条件判断没法处理所有的情况不过敲着敲着发现只有两种情况原创 2014-12-19 21:15:20 · 459 阅读 · 0 评论 -
UVa 227 Puzzle
这题和实验里的8 number很像,不过是字符而不是数字%c吃回车。。。。然后加了一个getchar();回忆了一下当时的思路不过这个是移动一但越界就输出 "哈,这个没有最终结果”这个逻辑是不是很眼熟没错,果断上break然后就是无尽的调试最后意识到break之后的字母也会作为下一组的输入知道真相的我眼泪掉下来改了一下,样例过了继续WA仔细看题仔细看题恩原创 2014-12-19 18:08:24 · 452 阅读 · 0 评论 -
UVa 11809 Floating Point Numbers
浮点数都是眼泪有木有刚开始题就没看懂百度补了一下浮点数的储存想起紫书里一个例子for(double i=0.0;i!=10;i+=0.1) printf("%llf\n",i);不要目测答案,一定要编译测试一下(扯远了-------------------回归分割线(回归线)----------------这题思路还是挺清晰的浮点数分两个部分 那就分别计算两个原创 2014-12-19 22:34:32 · 1419 阅读 · 0 评论 -
UVa 1588 Kickdown
给你两个锯齿状物质(我也不知道叫啥求一个最短的容器使这两个能同时装下刚开始看不懂。。。看懂了还是挺水的让一个在上面,一个在下面刚开始左端对齐每次往左移动一下并判断需要的长度往左移动的时候我油把自己绕进去了(为什么要说又草稿纸大法好attention,最短不能短于两个中最长的那根(想一想,为什么翻过来再来一次,输出最短的那次写完才发现我的max原创 2014-12-19 21:25:57 · 789 阅读 · 1 评论 -
UVa 232 Crossword Answers
纵横字谜你懂得想用个队列,发现数组就够了然后开始敲还有就是紫书上说的,做之前检查而不是做了之后后悔,大多数情况下亡羊补牢总是麻烦一点的 从今天开始爱上短路操作,再也不用担心数组越界了#include#includeusing namespace std;int main(){ int n,m=0; int t=1; while(~原创 2014-12-19 18:14:05 · 517 阅读 · 0 评论 -
UVa 455 Periodic Strings
给你一个字符串,求它的最小循环节第一个思路是每次给出循环节的长度,然后一节一节的检查接着把我自己绕进去了,果断换个思路不是一节一节的检查而是检查每一节的同一个位置其实两个方法应该是等价的不过前一个.....不说了,贴代码#includeusing namespace std;int main(){ int n; scanf("%d",&n)原创 2014-12-19 17:51:00 · 396 阅读 · 0 评论 -
UVa 1225 Digit Counting
计算从1~n中各个数字出现的次数发现n的范围是10000,果断暴力算然后过了Orz暴力的效率应该是o(nlogn)吧#includeusing namespace std;int a[15];void f(int t){ while(t){ a[t%10]++; t=t/10; }}原创 2014-12-19 17:47:54 · 548 阅读 · 0 评论 -
UVa 1586 Molar mass
大意是给你一个分子式,让你求分子量分子式的话只有四种元素思路还是挺清晰的每次碰到一个字母的时候找出对应原子量然后如果是字母就直接加到总的上面去如果是数字就一个一个读取并计算数字实际的值#includeusing namespace std;int main(){ int n; char a[105]; scanf("%d",&n); whi原创 2014-12-19 17:33:22 · 343 阅读 · 0 评论 -
Uva 1585 Score
第一题,除了水还是水X不计分,O连续出现则累加计分比如连着三个O就是1+2+3=6分,遇到X就重新计算好像也没什么要注意的,上代码好了#includeusing namespace std;int main(){ int n; scanf("%d",&n); char a[85]; while(n-- && ~scanf("%s",&a)){原创 2014-12-19 17:30:37 · 372 阅读 · 0 评论 -
UVa 10340 All in All
判断s1是不是s2的字串 //这个字串不是连续字串本来想迭代,不过循环不好处理也没想到什么高效的算法干脆递归了每次从母串中的第n个位置查找字串中的下一个字符查找到了递归处理下一个,直到母串or字串结束母串结束时字串未结束return false母串未结束字串结束了return true要是没查到呢?return false 这时上一级不会直接retur原创 2014-12-19 21:11:43 · 374 阅读 · 0 评论 -
UVa 202 Repeating Decimals
循环小数算循环节什么的手动算了一个1/7之后思路很清晰循环节最大长度不会超过分母#includeusing namespace std;int main(){ int up,down=0; while(~scanf("%d %d",&up,&down)){ int arr[2][3005]={0}; int len=0,st=0;原创 2014-12-19 20:53:04 · 458 阅读 · 0 评论 -
Codeforces 350C - Bombs
将炸弹按照离原点点的曼哈顿距离排序之后顺序处理即可。#include<bits/stdc++.h>using namespace std;const int maxn = 112345;vector<pair<int,pair<char,int> > > ans;pair<int,pair<char,int> > npair(int st,char c = 'E',int tim = 0){原创 2016-11-02 12:10:54 · 487 阅读 · 0 评论
分享