acm
wangzhuo0978
编程需要一种态度,一种涵盖认真,负责,不轻视,不自傲的态度。
展开
-
manacher 算法
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;char s[1000];char s_new[2000];int p[2000];int init(){ int len = strlen(s); s_new[0] = '$'; s_new[1] = '#'; int j = 2; for (int i = 0.原创 2021-08-13 19:49:28 · 155 阅读 · 0 评论 -
生成可重集的排列
#include #include using namespace std;int n, a[1010], p[1010];bool cmp(int a, int b){ return a < b;}void print_permutation(int cur){ //cur 表示当前确定的元素位置; if(cur == n){ for(int i原创 2015-07-17 09:36:54 · 822 阅读 · 0 评论 -
加速读入(acm大数据使用)
①//适用于正整数template <class T>inline void scan_d(T &ret) { char c; ret=0; while((c=getchar())<'0'||c>'9'); while(c>='0'&&c<='9') ret=ret*10+(c-'0'),c=getchar();}②//适用于...转载 2015-11-10 20:21:29 · 1064 阅读 · 0 评论 -
Educational Codeforces Round 19 C. Minimal string
C. Minimal stringtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputPetya recieved a gift of a string s with length up to 105 characters for his birth...原创 2017-04-18 20:35:24 · 479 阅读 · 0 评论 -
uva 11054
题目链接:点击打开链接题目大意:有n个等距离的村庄,每个村庄要么买酒,要么卖酒,且买卖酒的需求平衡,输入n表示n个村庄,每个村庄的需求为ai; if(ai > 0) 表示买酒, else 表示卖酒;题目分析: 设有n个村子,考虑最左边的村子,无论买酒还是卖酒,都一定是从相邻的右边村运过来或者或者向右边相邻的村子送过去。(不考虑右边村子的酒从哪里来);这样考虑之后,类似的剩下n原创 2015-10-07 15:24:35 · 333 阅读 · 0 评论 -
codeforces 584A
题目链接:点击打开链接题目大意:输入两个数 n, t; 找到满足n位数且能够被整除t的数,有多种情况任意输出一种就好; (1 ≤ n ≤ 100, 2 ≤ t ≤ 10) 题目分析: 注意t的取值范围,我们可以分两种情况,t == 10 或者 t != 10; 如果t != 10; 在t后面加n-1个0,就是符合条件的数; 例如 输入 3,2 输出 200;如果 t =原创 2015-10-10 16:39:52 · 498 阅读 · 0 评论 -
hdu 1789
题目大意:有一些作业规定了完成日期,如果没有在规定的日期完成就会就会扣掉期末的成绩,一天只能够完成一门作业,现在Ignatius想尽可能的减少所扣的成绩。 题目分析:说好的动态规划专题为什么有贪心; 其实很简单的一个贪心啦:(but刚看到题目没有想出来); 主要原因大脑中没有这种贪心模型。。。 试想一下,如果只能选择一些课,放弃一些课,你会怎么选择; 当然是完成扣份大的课,这样才能够让结原创 2015-10-30 11:01:31 · 436 阅读 · 0 评论 -
codeforces 611B
比赛的时候这道题将我卡住了,赛后看看这道题还是比较简单的;题目链接:http://codeforces.com/problemset/problem/611/B题目大意:给你两个数字a, b; 问有多少x (x >= a && x 201510 == 111110111112 符合题目要求;直接枚举 二进制数中包含0的数量为1的数 x; 如果x 满足 (x >=原创 2015-12-31 06:00:16 · 481 阅读 · 0 评论 -
hdu 5122(K.Bro Sorting, 简单思维题)
题目大意: K.Bro自己发明了一种排序方式,在序列中随机选择一个数,如果后面的数小于它,则交换位置,直到不能交换为止,为最少的交换次数;题目分析:先说我看到以为大牛的做法吧:我觉得这才是比较标准的做法,树状数组或者线段树,每次移动最大数字,那它位置后的数字都前移一位。最后统计移动次数;(我自己的,待补充吧)大神博客传送门:点击打开链接 // (hdu 5122)原创 2015-09-18 17:29:03 · 359 阅读 · 0 评论 -
uva 10815(set使用练习)
题目大意: 输入一个文本,找出所有不同的单词(连续的字母序列),按照字典序大小输出。单词不区分大小写。分析: 练习set的使用。当然也可以不用set,放到集合中排个序,输出不重复的单词; (模仿了算法竞赛入门经典的代码);#include #include #include #include #include using namespace std;原创 2015-09-16 20:37:31 · 694 阅读 · 0 评论 -
uva 156(Ananagrams)
题目大意: 输入一些单词,找出所有满足如下条件的单词: 该单词不能通过字母重排,得到输入文本中的另外一些单词。在判断是否满足条件时,字母不分大小写,但在输出时应保留输入中的大小写,按字典序进行排序(所有大写字母应该在小写字母前面)题目分析: 需要把输入中的每个单词标准化,从而判断是否出现过;怎么标准化呢, 将单词大写变成小写,按照一个你规定的顺序排序,如果标准化的单词没有重复的原创 2015-09-16 21:49:51 · 392 阅读 · 0 评论 -
uva 10474
#include #include #include #include using namespace std;int bsearch(int *A, int x, int y, int v){ int m; while(x < y){ m = x + (y-x)/2; if(A[m] >= v) y = m; else原创 2015-08-08 08:02:28 · 367 阅读 · 0 评论 -
hdu 2028
#include #include using namespace std;int a[10010];int gcd(int a, int b){ // 求a, b最大公约数; return (b == 0 ? a : gcd(b, a%b));}int main(){ int n; while(scanf("%d", &n) != EOF){原创 2015-08-01 15:01:04 · 281 阅读 · 0 评论 -
poj 1088
题目:Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21原创 2015-08-27 20:19:48 · 334 阅读 · 0 评论 -
hdu 2037
贪心问题,水题#include #include #include using namespace std;struct s{ int s_t, e_t; // 开始时间,结束时间;}a[110];int n;int cmp(s a, s b){ return a.e_t < b.e_t;}int add(){ int ans = 0;原创 2015-08-01 14:47:19 · 270 阅读 · 0 评论 -
uva 146
从最后开始枚举s,找到第一个点p,存在s[p]大于s[p + i](i > 0);#include #include using namespace std;string s;int cmp(int a, int b){ return a < b;}int handle(string &s){ int ok = 0; int p = -1; int原创 2015-08-01 22:47:25 · 249 阅读 · 0 评论 -
uva 10167
水题,可以直接暴力,要注意开2*N的数组来储存点#include #include using namespace std;int x[110], y[110];int main(){ int N; while(cin >> N && N){ for(int i = 0; i < 2 * N; ++i){原创 2015-07-31 09:46:02 · 317 阅读 · 0 评论 -
hdu2136 Largest prime factor
这道题一开始用cin cout 做的,可以试着看看有什么问题, (所以建议acm用scanf 和 printf 输入输出)#include #include #include using namespace std;#define maxn 1000010int a[maxn];int main(){ int k = 1; memset(a, 0, siz原创 2015-05-07 20:20:49 · 328 阅读 · 0 评论 -
ACdream 1056 Vitaly and Strings
一道水题,不过错了很多次,注意一下思维。DescriptionVitaly is a diligent student who never missed a lesson in his five years of studying in the university. He always does his homework on time and passes his exams原创 2015-05-06 20:20:53 · 404 阅读 · 0 评论