ACM算法
Pandauncle
写给自己的。
学好自己该学的,
什么都想学的,什么都学不好。
什么都不学的,神马都是浮云。
不要好高骛远。
脚踏实地,
想要的会来的。
展开
-
快速幂之快速乘法优化
**学快速幂之前先来学习一下快速乘法,这样对理解快速幂会有很大的帮助。**首先,为什么要用快速乘法呢?一看快速乘法,肯定算的比较快的啦。当然,你可能不会这样认为,但是计算机却能更快的计算。 好了,言归正传。快速乘法的本质是利用二进制的性质把一个乘数化成二进制进行操作。 看了这个例子你相信聪明的你已经理解快速乘法的原理了。 那就看一下代码怎么实现的把:long long q_cheng( lo原创 2017-09-11 20:59:22 · 725 阅读 · 0 评论 -
HDU6330Problem L. Visual Cube(模拟)
模拟是真的恶心。#include<bits/stdc++.h>using namespace std;typedef long long int ll;const int N=100+10;char s[N][N];int main(){ int t; scanf("%d",&t); while(t--) { ...原创 2018-08-03 22:40:25 · 230 阅读 · 0 评论 -
P1080 国王游戏
博主讲的好很好 https://blog.csdn.net/Rlt1296/article/details/52793197#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>using namespace std;int n,pai[...转载 2018-05-30 19:14:38 · 607 阅读 · 0 评论 -
香甜的黄油
香甜的黄油时间限制: 1000 ms 内存限制: 65536 KB 提交数: 117 通过数: 51 【题目描述】 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖。把糖放在一片牧场上,他知道N(1≤N≤500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油。当然,他将付出额外的费用在奶牛上。 农夫John很狡猾。像以前的巴甫洛夫,他知道他可以训练这些奶牛,让它们原创 2018-01-25 21:39:44 · 994 阅读 · 0 评论 -
牛的旅行
牛的旅行时间限制: 1000 ms 内存限制: 65536 KB 提交数: 79 通过数: 43 【题目描述】 农民John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区不连通。现在,John想在农场里添加一条路径 ( 注意,恰好一条 )。对这条路径有这样的限制:一个牧场的直径就是牧场中最远的两个牧区原创 2018-01-23 21:45:04 · 698 阅读 · 0 评论 -
珍珠(bead)
珍珠(bead) 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 158 通过数: 73 【题目描述】 有n颗形状和大小都一致的珍珠,它们的重量都不相同。n为整数,所有的珍珠从1到n编号。你的任务是发现哪颗珍珠的重量刚好处于正中间,即在所有珍珠的重量中,该珍珠的重量列(n+1)/2位。下面给出将一对珍珠进行比较的办法:给你一架天平用来比较珍珠的重量,原创 2018-01-30 21:36:36 · 2817 阅读 · 0 评论 -
鱼塘钓鱼(fishing)
鱼塘钓鱼(fishing)时间限制: 1000 ms 内存限制: 65536 KB 提交数: 71 通过数: 42 【题目描述】 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 鱼塘编号 每1分钟能钓到的鱼的数量(1..1000) 每1分钟能钓鱼数的减少量(1..100) 当前鱼塘到下一个相邻鱼塘需要的时间(单位:分钟)原创 2018-01-22 15:22:35 · 1893 阅读 · 0 评论 -
栈和排序
栈和排序 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: %lld 题目描述 给你一个1->n的排列和一个栈,入栈顺序给定 你要在不打乱入栈顺序的情况下,对数组进行从大到小排序 当无法完全排序时,请输出字典序最大的出栈序列 输入描述: 第一行一个数n 第二行n个数,表示入栈的顺序,用空格隔原创 2018-01-12 21:54:53 · 767 阅读 · 1 评论 -
哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)B题幸运大奖
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 tabris实在是太穷了,为了发财,tabris去买了一张彩票,幸运地中了特别奖。 特别奖是这样的,不会直接给你发钱.会给你一串二进制数s,让你在s中选择一个不大于k的区间,这个区间表示的数就是获奖者的奖金数目. tabris中奖之后已原创 2017-12-10 19:02:16 · 359 阅读 · 0 评论 -
3531:判断整除(2.6基本算法之动态规划)
总时间限制: 1000ms 内存限制: 65536kB 描述 一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和。比如序列:1、2、4共有8种可能的序列: (+1) + (+2) + (+4) = 7 (+1) + (+2) + (-4) = -1 (+1) + (-2) + (+4) = 3 (+1) + (-2) + (-4) = -5 (-1) + (+2) + (原创 2017-11-11 12:12:08 · 1153 阅读 · 1 评论 -
HDU 1026 Ignatius and the Princess I(广搜记录路径)
这是一道广搜好题,好题就那么多做一道少一道。 题意很简单:从(0,0)点开始到(n-1,m-1)点最短花费时间。’.’:可以走,’X’:不允许走,‘2’:数字表示需要花费多少时间把这个怪兽杀掉,勇士每走一步需要花费1s,每次走只能走上下左右四个方向 思路:用优先队列处理广搜,然后用一个数组path[][]记录路径,最后从终点找到起点用回溯的方法输出。 直接上代码: 欢迎大家指点。#inclu原创 2017-10-07 23:23:22 · 424 阅读 · 0 评论 -
最短路之Floyd(弗洛伊德)算法
弗洛伊德算法的作用是可以求任意两点的最短路问题,时间复杂度为O(n^3)。先举个栗子: 例如求1->3的最短路径,首先找出所有可以从1->3的路径。 1->2+2->3=2+3=5。1->3=6。1->4+4->3=4+12=16。显然,从1->3的最短路径为5。介绍弗洛伊德算法之前,先说下松弛原理和dis[][]数组 dis[i][j]数组就是求:从i->j的最短路径为多少。 松弛原理:原创 2017-09-14 20:04:38 · 1260 阅读 · 0 评论 -
划分树入门
先说一下什么是划分树把: 划分树就是为了求某个区间中第k大值,所建立的数据结构.时间复杂度比较低,为log(n). 划分树的原理:划分树和归并树都是用线段树作为辅助的,原理是基于快排和归并排序的。划分树的建树过程基本就是模拟快排过程,取一个已经排过序的区间中值,然后把小于中值的点放左边,大于的放右边。一个辅助二维数组,用来记录每一层被分入左子树的个原创 2017-08-23 20:52:28 · 625 阅读 · 2 评论 -
HDU6373Pinball(物理题)
思路: 高中经典例题。分解加速度和速度就好了。#include<bits/stdc++.h>using namespace std;const double g=9.8;const int MAXN = 1000+5;int main(){ int i,j,k,n,m; int _; cin>>_; double a,b,x,...原创 2018-08-09 08:33:20 · 306 阅读 · 0 评论