ACM
ACM基础算法
Kscstg
holding on
展开
-
写给刚进大学接触ACM的同学
去年10月刚刚正式进入ACM的晚自习的教室,第一次来到东软自己搭建的OJ,有踏入一个新领域的好奇,也有对代码 无从下手的无奈。但是不能怂啊!才接触嘛,肯定要懵逼一阵子啊!插个话题:我个人总结出来C语法的学习经验就是————做题,在题中学习,这样你就记忆很深刻,而且你还在不断重复练习,想忘记老天都不答应。说到这里,肯定有小萌新们会问了,“我们什么都不知道,怎么入手啊!”。这个就不用担心了,问原创 2017-08-18 15:23:38 · 1395 阅读 · 0 评论 -
CF 4C - Registration System
刚写出来就去网上搜了一下发现很多都是map写的发现时间复杂度较高。这道题用字典树时间更优(虽然浪费点内存,但是内存不值钱!!!)只需要在每个名字末尾特判一下标记变量,是0就输出ok否则就在原来单词后面加个之前存在的数量。最后再在末尾标记变量自增。#include <bits/stdc++.h>const int maxn=1e6+10;using namesp...原创 2018-08-21 16:38:42 · 390 阅读 · 0 评论 -
What Are You Talking About(字典树)
题意:给火星文对应的翻译,然后输入一篇文章把对应能翻译的单词翻译过来,不能翻译的原样输出。思路:其实这道题可以用map很简单做出来,但是用map时间复杂度很高,字典树只有几百毫秒才是标准写法。首先建立一颗字典树,在单词的最后一个地方把对应的单词解释放进去,不是一个完整单词结束的地方就随便赋值一个用不到的符号。然后就是处理文章有点麻烦。如果是字母就存到一个临时字符串里面,一旦遇到空格,标点等...原创 2018-07-17 09:49:56 · 598 阅读 · 0 评论 -
2018年北京信息工程大学ACM选拔赛-E扫雷
简单的搜索,注意踩到雷就标记不BFS了,还有遇到数字就直接在答案数组里面更新,否则就对 点(空格)就是BFS就行了#include <stdio.h>#include <iostream>#include <vector>#include <algorithm>#include <queue>#include <stdlib.h&g...原创 2018-05-07 15:54:40 · 408 阅读 · 0 评论 -
阿里巴巴的手机代理商(简单)
阿里巴巴的手机代理商(简单)阿里巴巴的手机代理商正在研究 infra 输入法的新功能。他们需要分析单词频率以改进用户输入法的体验。于是需要你在系统内核里面写一个 API。 API 有如下功能:添加操作添加操作格式为insert barty 8,意思为插入barty这个单词,这个单词词频为 88 ...原创 2018-05-15 23:46:58 · 456 阅读 · 0 评论 -
Gym - 101755H Safe Path
H. Safe Pathtime limit per test2.0 smemory limit per test256 MBinputstandard inputoutputstandard outputYou play a new RPG. The world map in it is represented by a grid of n × m cells. Any playing char...原创 2018-04-16 13:56:08 · 465 阅读 · 0 评论 -
矩阵快速幂 模板
#include <iostream>#include <cstdio>using namespace std;const int maxn=110;const int mod=1e9+7;//#define Mod(x) ((x)%mod)typedef long long ll;struct node{ int a[maxn][maxn];} unit;//单位...原创 2018-04-16 15:41:51 · 234 阅读 · 0 评论 -
2018年四川省省赛 E-Ever17
此题得到的经验:判断数据是否合法(可用)最好写成函数,减少不停的主函数写if else减少出错率,也避免把自己写晕。比如这道题把判断闰年写成一个函数,然后把判断是否可以算日期差写成函数,不需要又把另外一类日期判断重写。其他情况都是直接输出合法的一种日期。教训:认真读题,01/01/01是相同的日期直接输出就行(这个地方4个小时都没发现,赛后想哭)#include<bits/stdc++.h&...原创 2018-06-05 20:40:03 · 458 阅读 · 0 评论 -
初级倍增算法(模拟+讲解)
倍增,顾名思义就是一倍一倍的增加。举个例子你每次可以跳2的k次方步。现在你要跳到距离7步的地方。跳8步 跳过了(不跳)跳4步 没跳到(跳)跳2步 没跳到 (跳)跳1步 跳到 (停)这里就只跳了3次 比普通的7次跳发优化了4次;如果数据很大就是O(n) 和 O(logn)的区别了;这里主要讲RMQ和LCA的2种简单算法RMQ(区间最值查询)是一个预处理O(n*logn...原创 2018-08-18 11:25:07 · 12588 阅读 · 8 评论 -
字典树(数组版)入门级详细讲解加模拟
字典树是一种用于快速检索的多叉树结构,每个节点保存一个字符,一条枝干表示一个单词、电话等等信息。具体每个节点如草图所示 结构体(节点)定义如下struct Tree{ int point[30]; int num;///这里维护的是单词前缀出现多少次,根据自己的需求定义结构体里面维护的值 void init() { for(int...原创 2018-08-18 08:55:59 · 1585 阅读 · 1 评论 -
主席树
主席树的本质就是线段树,但是比线段的优势是可以保留历史状态,也就是后面建立的树通过减去前面的树——节点相减产生一颗“新”的线段树然后解决区间第k大的问题。每次建立线段树其实只是添加了logn个节点然后连到已有的线段树,通过root数组保持最上面的根节点的数组下标然后就是主席树的每个节点维护的当前区间有多少个数。#include <stdio.h>#include <iostrea...原创 2018-04-28 16:05:02 · 228 阅读 · 0 评论 -
给ACM迷茫的同学
目录(?)[+]第一阶段开始入门吧15天53题第二阶段我要学算法12天31题第三阶段acm无底洞啊10天18题第四阶段大家自学吧搞ACM同学请看[671原创,欢迎转载]以下题均为杭电acm网页的题号首页http://acm.hdu.edu.cn/题库入口http://acm.hdu.edu.cn/listproblem.php?vol=1帮助http://acm.hdu.edu.cn/faq.p转载 2017-08-18 15:20:54 · 684 阅读 · 0 评论 -
图解转载 原创代码适合新手入门
图解转载 (代码原创)0 1背包图解+代码 一个菜鸟的心得 <div class="article_manage clearfix"> <div class="article_l"> <span class="link_categories"> 标签: <a href="转载 2017-08-18 15:05:14 · 326 阅读 · 1 评论