ACM算法
文章平均质量分 56
雪域0苍穹
小白,求指教!!!!
展开
-
HDU-1013-Digital Roots
Digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Description The digital root of a positive integer is found by summing the digits of the int原创 2016-04-25 20:52:18 · 257 阅读 · 0 评论 -
蛇形填数
要求:输出N行蛇形数,如N=3, 7 8 1 6 9 2 5 4 3的蛇形方阵include “stdio.h”include “string.h”int a[20][20]; int main() { int n, x, y, number=0; scanf(“%d”,&n); memset(a,0,sizeof(a)); number=a[x原创 2016-05-16 20:16:43 · 200 阅读 · 0 评论 -
WERTYU
题意:输入一个错位后敲出的字符(均为大写字母),打出正确位置的子符,对应位置关系如常规键盘,输入向后移动了一个位置include “stdio.h”char str[]=”`1234567890-=QWERTYUIOP[]**\**ASDFGHJKL;’ZXCVBNM,./”; //保证不会出现大A输入: int main() { int i, c; whi原创 2016-05-18 19:54:06 · 325 阅读 · 0 评论 -
不容易系列之(3)—— LELE的RPG难题(HDU-2045)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2045 分析:(N>4)先分布:若第n-1个位置与第一个位置的颜色相同,即n位上的颜色可以有两种可能,则可以在前f(n-2)的基础乘上本次2种; 若第n-1个位置与第一个位置的颜色不同,则n位上的颜色就只有一种可能,则可以在前f(n-1)的基础上乘上本次的1种可能; 最后求和,便得公式f(n)=2*f(原创 2016-05-19 17:41:37 · 277 阅读 · 0 评论 -
生成元
题意:X加上X的各个位置上的数字之和得到Y,就说X是Y的生成元,求最小生成元,若无则输出0,如输入Y=216,121,2005,则X分别为198,0,1979; 分析:由于Xinclude “stdio.h”include “string.h”define maxn 100005int ans[maxn]; int main() { int T, n; memset(ans原创 2016-05-19 19:55:12 · 723 阅读 · 0 评论 -
ACM——GCD算法
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-03-20 23:04:16 · 1001 阅读 · 0 评论 -
分治法讲解及实例
分治法的3个步骤 1.划分问题: 把问题的实例划分成子问题 2.递归求解:递归解决子问题 3.合并问题:合并子问题的解得到原问题的解 分治法求解 int maxsum(int *A , int x, int y) { // 数组A在[x,y) 区间中的最大连续和 int v,L,R,ma翻译 2016-08-04 09:55:49 · 577 阅读 · 0 评论 -
STL初讲
STL是C++的标准模板库 特点:好用、复杂,提供了多种组织数据的常用方法; 如:vector(向量,类似于数组)、list(列表,类似于链表)、deque(双向队列)、set(集合)、map(映像)、stack(栈)、queue(队列)等。 三大核心部分:容器(Container)、算法(Algorithms)、迭代器(Iterator),除此之外还有STL其他标准组件。 容器(conta原创 2016-08-04 10:16:52 · 290 阅读 · 0 评论 -
HDU 2037 今年暑假不AC
今年暑假不ACProblem Description “今年暑假不AC?” “是的。” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%…”确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。 作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级原创 2016-08-07 15:29:01 · 353 阅读 · 0 评论 -
整数解
Problem Description 有二个整数,它们加起来等于某个整数,乘起来又等于另一个整数,它们到底是真还是假,也就是这种整数到底存不存在,实在有点吃不准,你能快速回答吗?看来只能通过编程。 例如: x + y = 9,x * y = 15 ? 找不到这样的整数x和y 1+4=5,1*4=4,所以,加起来等于5,乘起来等于4的二个整数为1和4 7+(-8)=-1,7*(-8)=-5原创 2016-05-16 21:17:28 · 356 阅读 · 0 评论 -
开灯问题
问题简述:有N个灯(并编号1.2.3.4…..n),K个人。第一个人打开所有灯,第二个人按下2的倍数开关,第三个人按下3的倍数开关,以次类推。。。。问最后有哪些灯还是亮着的, 解析:只要解决如何表示灯的开与关,这个问题就基本上解决了,这里先灯默认为关,即0。再每次按下开关就执行一次a[j]=!a[j],看最后的状态就OK!include “stdio.h”include “string.h”int原创 2016-05-16 19:53:50 · 308 阅读 · 0 评论 -
三种简单的变量交换
include “stdio.h”int main() { int a, b, t; scanf(“%d%d”,&a,&b); t=a; a=b; b=t; printf(“1:%d %d\n”,a,b); a=a+b; b=a-b; a=a-b; printf(“2:%d %d\n”,a,b);原创 2016-05-11 22:12:17 · 336 阅读 · 0 评论 -
floor(x)的使用,及其精度的扩充
include “stdio.h”include “math.h”//int main() //{ // for(int a=1;a<=9;a++) // for(int b=1;b<=9;b++) // { // int n=a*1100+b*11; // int m=floor(sqrt(n)+0.5);原创 2016-05-11 22:30:24 · 2279 阅读 · 0 评论 -
文件操作
//重定向版 //#define LOCAL //文件重向定义,比赛时自动删除的重定向语句 //#include “stdio.h” //#define INF 1000000000//int main() //{ // #ifdef LOCAL // freopen(“date.in”,”r”,stdin); // freopen(“date.out”原创 2016-05-11 23:00:49 · 194 阅读 · 0 评论 -
回文词
题意:输入一行字符串,判断它是否为回文串或者镜像串(左右镜像之后与原文相同的字符串)include “stdio.h”include “string.h”include “ctype.h”const char *rev=”A 3 HIL JM O 2TUVMXY51SE Z 8”; const char *msg[]= {“not a palindrome”, “a regular palindr原创 2016-05-18 20:52:59 · 265 阅读 · 0 评论 -
A+B=?
题目简介:大数相加 Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.Input The first line of the input contains an integer T(1<=T原创 2016-05-26 21:13:15 · 456 阅读 · 0 评论 -
韩信点兵(水题)
题意概述:已知一个数取余3余a,取余5余b,取余7余c,求这个数!!!include “stdio.h”int main() { int a, b, c, i=1, number; while(scanf(“%d%d%d”,&a,&b,&c)!=EOF) { number=(70*a+21*b+15*c)%105; //特点:70为5和7的公倍数原创 2016-05-15 20:28:42 · 332 阅读 · 0 评论 -
倒三角形(triangle)
要求输出行倒置的三角形include “stdio.h”int main() { int n, i, j; while(scanf(“%d”,&n)!=EOF) { for(i=1;i<=n;i++) //i,j只能从一开始(为满足下面每行*的个数算法) { for(j=1;j原创 2016-05-15 21:24:47 · 357 阅读 · 0 评论 -
子序列的和(subsequence)
(有陷阱!!!)include “stdio.h”int main() { long long int n, m, i, j=1; //此处只能用long long int,原因:自己猜,有关陷阱的! double sum; while(scanf(“%lld%lld”,&n,&m)!=EOF) { if(n==0&&m==0) b原创 2016-05-15 21:37:36 · 643 阅读 · 0 评论 -
qsort与sort的七种用法!
七种qsort排序方法一、对int类型数组排序 int num[100]; Sample: int cmp ( const void *a , const void *b ) //const void *a为不定类型,在实际使用中,会根据实际的数据类型而发生转变,省去了因调用中类型不同,造成重复多次自定义函数;本例中,const void *a等价于int a; { return (in原创 2016-08-07 15:51:02 · 387 阅读 · 0 评论