
大三上学期训练
xyry
ACM入门中……
展开
-
在计算器中如何计算以2为底3的对数 log 2 3
log如果没有写底数,默认是以10为底的,一般计算器中也是这样的.另外还有一种写作ln,是以e为底的,无论哪种都一样.计算log2 3其实只要计算log3/log2就可以了,也可以用ln3/ln2结果都是一样的.PS.log2 3=1.584,你可以拿计算器按一按但是不可以约分或者化简哦,谨记!原创 2017-12-14 15:03:06 · 42473 阅读 · 0 评论 -
POJ3126-Prime Path
题目链接:POJ3126思路,先打一个素数表,然后BFS的时候,把4位数每一位单独考虑,看看4位数是否为质数,是的话就加入队列。AC代码:#include#include#includeusing namespace std;const int maxn=10005;bool f[maxn];bool vis[maxn];int n,d1,d2,d3,d4,res;s原创 2017-12-09 10:05:06 · 399 阅读 · 0 评论 -
POJ1426-Find The Multiple
题目链接:POJ1426题目数据超水。写了一个普适点的还超时了,写最暴力的还过了,这题没啥意思。AC代码:#include#include#include#include#includeusing namespace std;int n;const int maxn=220;char z[]="0";char o[]="1";struct node{ ch原创 2017-12-09 09:52:26 · 390 阅读 · 0 评论 -
POJ3279-Fliptile
题目链接:POJ3279思路很重要。第一点,N最大只有15 ,考虑到第一排的翻转情况确定之后,整个棋盘的翻转情况也就确定了。最多遍历2^15种。第二点,对于每一排的1,只有其下面的翻转能将其变为0,而不影响同行其他棋子的翻转情况。第三点,坐标系的建立要统一,x,y,m,n, x指的是row 那么y指的是col ,都统一用一个坐标系不容易错。这题目的思路值得借鉴,思考。不看他人原创 2017-12-09 00:02:16 · 318 阅读 · 0 评论 -
POJ3278-Catch That Cow
题目链接:POJ3278一个细节。int 类型的函数要写return 0;不写的话会错好多遍,比如我……对于n>k由于只有一种走法,所以直接n-k就好了,不然会T,这种情况要特判一下。AC代码:#include#include#includeusing namespace std;const int maxn=1e5+10;bool vis[maxn];int n,k;原创 2017-12-08 23:55:24 · 321 阅读 · 0 评论 -
POJ2251-Dungeon Master
题目链接:POJ2251三维搜索,也就是方向变成了6个。6个方向BFS即可AC代码:#include#include#includeusing namespace std;const int maxn=35;char mp[maxn][maxn][maxn];int l,r,c;int sl,sr,sc,el,er,ec,ans;bool vis[maxn][maxn]原创 2017-12-08 23:49:15 · 332 阅读 · 0 评论 -
POJ1321-棋盘问题
题目链接:POJ1321数据很水,入门题目。AC代码:深搜+回溯 要注意回溯的时候,标记要置为0。#include#includeconst int maxn=10;char mp[maxn][maxn];int n,k,ans;bool vis[maxn];void dfs(int row,int num){ if(num==k){ ans+原创 2017-12-08 23:47:01 · 378 阅读 · 0 评论 -
CCF 201612-03 权限查询 题解
题目链接,注册了自己看把,那个认证题库已经好几天打不开了,没办法上链接了中等模拟把,就是三层结构体嵌套。捋清楚就行。AC代码#include#include#includeusing namespace std;const int maxn=110;struct quanxian{ char ca[35]; int level=-1;}qx[maxn];s原创 2017-11-29 22:56:17 · 311 阅读 · 0 评论 -
Codeforces Round #424 (Div. 2)A-B-C 日常训练
题目链接:点击打开链接、暂时摆这三道,后面补完在贴。A简单模拟#include#includeconst int maxn=1100;int a[maxn];int num[maxn];int main(){ int n; int mx=-1; scanf("%d",&n); memset(num,0,sizeof(num));原创 2017-11-29 20:20:59 · 256 阅读 · 0 评论 -
CODE FESTIVAL 2017 qual C- A-B-C 总结
题目链接:点击打开链接题目A,B,C;比赛当时只做出了三道题,下来之后想补D题,但是想了很久都不明白。唉题目A: 签到#include #include #include #include #include#include #include #include #include #include #include using namespace std;typ原创 2017-10-24 22:26:39 · 350 阅读 · 0 评论 -
AtCoder Beginner Contest 075 总结
题目不难,但是只做出了两道题。今天补题的时候发现全是暴力……= = 还是太菜了。:(题目链接:点击打开链接A #include #include #include #include #include#include #include #include #include #include #include using namespace std;ty原创 2017-10-15 15:09:17 · 506 阅读 · 0 评论 -
%lld 与 %I64d 的区别
以下内容转自:http://m.blog.youkuaiyun.com/Thunders01/article/details/38879553感谢大佬的分享。***************************分割线*************//为了和DSP兼容,TSint64和TUint64设置成TSint40和TUint40一样的数 //结果VC中还是认为是转载 2017-10-15 11:21:22 · 1934 阅读 · 0 评论 -
POJ3087-Shuffle'm Up
题目链接:POJ3087思路,就是模拟,要注意的细节,每次用字符串的时候要记得清空。记录初始s12,如果找不到答案,第二次遍历s12的时候退出循环。AC代码:#include#include#include#includeusing namespace std;int T,n,kase;string s1,s2,s,t,e;void bfs(){ que原创 2017-12-09 10:43:53 · 366 阅读 · 0 评论 -
POJ3414-Pots
题目链接:POJ3414这题目和前面几道搜索题目的区别在于要记录路径,这要怎么办呢?第一点,我们考虑到只有两个杯子,每个杯子只有3个操作,也就是总共只有6个操作,那么我们分别命名6个操作为1-2-3-4-5-6;然后定义一个结构体,每次存入A B杯子的容量的同时,把相应的操作加入string 字符串,如果满足要求,返回相应的字符串再根据一开始的定义输出即可。第二点,在定原创 2017-12-09 10:54:33 · 476 阅读 · 0 评论 -
FZU2150-Fire Game
题目链接:FZU2150题目背景挺无聊的……吐槽一下坑,FZU不支持C++11 巨坑我大概CE了3小时。用迭代器的时候解引用 得用*(it).x 不能用it->x 看了一下午才发现是这里CE先扫一遍看有几个连通分量,如果连通分量大于2,直接输出-1如果连通分量有两个,那么对于每一个连通分量分别取起点当作点火的位置,然后暴力即可。如果连通分量只有一个,那么从这个连通分量原创 2017-12-09 13:21:10 · 413 阅读 · 0 评论 -
记录平时做题的需要注意的小细节(坑点)
开此贴用来记录平时做题过程中踩到的坑。免得随着时间的流逝就忘记了。时刻提醒自己,小错误不能犯 。2017年12月4日:PPOJ3087-Shuffle’m Upstring 使用之前要记得清空对于多组case,如果没有清空string,会带来意想不到的结果。DFS要记得打标记尤其是进入dfs的第一个数据,一定要记得打标记,这是最容易忘记的。2017年12月1日:POJ3278int 类型的函数体原创 2017-12-04 10:57:12 · 337 阅读 · 0 评论 -
快速计算某一天是星期几-蔡勒公式
以下内容转自百度百科。w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六c:世纪(年份前两位数)y:年(后两位数)m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)d:日[ ]代表取整,即只转载 2017-12-03 22:44:21 · 1573 阅读 · 0 评论 -
第一次CCF CSP认证体验
今天是我第一次参加CCF CSP认证,虽然这已经是第十二次CCF认证了。 感觉题目有点难欸,前面两道题暴力写完。然后看了第三题,哇,简直难写。第四题看了看,数据1e5条边,不会做,就写了一个暴力,希望能过点数据。第五题感觉像是一个动态规划,完全没思路。过完一圈之后,我又回来看第三题,突然想到,没有办法确定某个日期是星期几,然后就挂机了……。(回到宿舍搜了搜,这玩意居然还有定理原创 2017-12-03 22:37:46 · 9134 阅读 · 7 评论 -
Codeforces Round #423 (Div. 2)A-B-C-D 日常训练打卡
题目链接:CF423感觉自己写了4个模拟。==A题坑点:要注意一个组只有一个人的时候,他的入座顺序,是优先选择单桌,然后两人空桌,然后两人桌其中有一个位置被占的桌子。读了好几遍都理解错了。然后对一人组和两人组分别讨论,两人组很简单,只坐空两人桌。一人组就按照上面的顺序写就好,用两个指针,指向桌子,这就不会超时。AC代码:/*2017年11月23日09点27分AC*/#i原创 2017-11-23 09:34:27 · 259 阅读 · 0 评论 -
坑点
开此贴用来记录平时做题过程中遇到的坑点。原创 2017-12-01 16:42:14 · 367 阅读 · 0 评论 -
HDU2612-Find a way
题目链接:HDU2612这题目有个坑点很类似前面那个fire(UVA11624)。先说思路,我一开始记录下每个KFC的位置,然后对每个KFC,跑Y和M的bfs 求最小时间 然后T了我看了看网上的题解,正解是用Y和M 跑整个图,记录下跑每个点的时间。然后对于每个KFC直接算时间就好了但是这要考虑一个特殊情况,特判,当前KFC两者必须都能够走到,(WA了好多次)ACcode:#原创 2017-12-10 16:04:53 · 405 阅读 · 0 评论 -
[kuangbin带你飞]专题一 简单搜索 刷题总结
人生第一次刷完一个专题。虽然是一个入门专题,我觉得对我来说意义蛮大。希望继续保持,慢慢来,比较快。总的来说难度不大,水题偏多,但是也不可小觑,有很多细节如果没有注意到就会各种报错WA,MLE,TLE,RE,CE之类的。题解稍后贴上。原创 2017-12-08 23:31:11 · 555 阅读 · 0 评论 -
HDU1495-非常可乐
题目链接:hdu1495如果做过前面那个倒水的题目(POJ3414),那么这道题就简化成了,3个杯子互相倒水,只用输出最少的次数,而不用输出路径。简化版倒水题。记得用一个vis[maxn][maxn][maxn]数组来剪枝,免得T。对了,还有一个默认的条件,平分指的是总水量平分,所以奇数不用考虑了。ACcode:#include#include#include#i原创 2017-12-09 13:54:45 · 368 阅读 · 0 评论 -
HDU1241-Oil Deposits
题目链接:HDU1241很裸的题目,注意连成一块的条件,对角相连也算,所以总共有8个方向。这题也是找连通分量,和前面那个fire game 的第一步差不多。AC:#include#includeusing namespace std;const int maxn=110;char mp[maxn][maxn];bool vis[maxn][maxn];int t原创 2017-12-09 13:46:49 · 329 阅读 · 0 评论 -
UVA11624-Fire!
题目链接:UVA11624也是比较坑的一道题目首先读题,发现Input 最后一句话,there will be exactly one J in each test case;这句话的意思说,每个测试点有且只有一个Joe,那么与其相对的Fire,没有特别注明,也就是说每个测试点不确定有几个fire,这是第一个坑点。第二个,思路,先把所有的起火点跑一遍,得到每个点的最早起火时间图原创 2017-12-09 13:30:55 · 363 阅读 · 0 评论 -
POJ3984-迷宫问题
题目链接:POJ3984很裸的题目,如果做过前面那个倒水的题目,那么这题很快就能AC了给定起点和终点,就是要记录路径,很简单,上下左右四个方向,UDLR ,每次进队列的时候选择一个方向加入字符串,最后返回字符串即可。AC:#include#include#include#include#includeusing namespace std;const int max原创 2017-12-09 13:40:14 · 365 阅读 · 0 评论 -
Codeforces 522 A. Reposts 树形DP
题目链接:点击打开链接题目大意:给你一棵树,求出这颗树上最长的边。思路:用map把字符串转换成数字,然后建树,从根节点深搜,一层一层搜下去。建树的方法:利用vector ACcode:/*2017年10月13日19点40分AC*/#include #include #include #include #include#include #includ原创 2017-10-13 19:35:22 · 381 阅读 · 0 评论 -
Codeforces 873 B. Balanced Substring
题目链接:点击打开链接找出最长的平衡01串长度。思路,遇见一个1,sum++,遇见0,sum--;记录每一个的sum的位置,,dis[sum]=i;初始的时候把dis全部初始化为-1,如果当前dis[sum]=-1证明这个sum第一次出现,记录其出现的位置。如果当前did[sum]!=-1,那么证明这个sum,之前出现过,那么从之前那个位置到现在这个位置,中间的和为0,sum+0=原创 2017-10-13 19:24:13 · 1070 阅读 · 0 评论 -
Codeforces330B. Road Construction 贪心水题
题目链接:点击打开链接题目,给你n个城市,下标从1-n,再给你m对城市,要求不能在这m对城市之间建设道路,要求建最少的道路满足任何一个城市可以到达另外一个城市最多经过两条路。保证答案一定存在。我们在观察一下 m的限制条件 m好水= =。。AC code:/*2017年10月11日20点32分AC贪心即可*/#include #include #include原创 2017-10-11 20:33:32 · 332 阅读 · 0 评论 -
HDU2044 一只小蜜蜂... 动态规划入门-递推
题目链接:HDU2044将a设为起点,b为终点 手推几个发现 就是 斐波那契数列。一开始写的int爆掉了 = =ACcode:/*2017年9月18日21:24:04HDU2044AC */ #include #include #include #include #include #include #include #include #include原创 2017-09-18 21:25:16 · 849 阅读 · 0 评论 -
HDU6216 A Cubic number and A Cubic Number 找规律 2017 ACM/ICPC Asia Regional Qingdao Online
题目链接:HDU6216手推一下 a^3-b^3=(a-b)(a^2+ab+b^2);经过推导只有当a=b+1的时候 立方差可能会出现质数,除此之外,不可能存在质数。(如有错误请指正)所以打个表,然后用二分查找 lower_bound 去找,如果找到则返回YES 否则返回N0ACcode:/*2017年9月17日19:30:04HDU6216 找规律 AC */#inc原创 2017-09-17 19:12:21 · 355 阅读 · 0 评论 -
HDU6213 Chinese Zodiac 签到 2017 ACM/ICPC Asia Regional Qingdao Online
题目链接:HDU6213菜鸡切水……ACcode:/*2017年9月17日19:32:26HDU 6213 纯签到 AC*/ #include #include #include #include #include #include #include #include #include #include using namespace std;map原创 2017-09-17 19:34:24 · 448 阅读 · 0 评论 -
HDU6208 The Dominator of Strings 字符串匹配 2017 ACM/ICPC Asia Regional Qingdao Online
题目链接:HDU6208题目思路:题意比较好懂,找到一个长度最长的串,然后判断其他所有串是否能否被这个串包含,也就是是否能够匹配成功,如果成功输出该串,否则输出No;当时队友用字典树,AC自动机不是MLE 就是TLE 然后刚刚队友突然说,暴力也可以做……我就写了一发暴力……结果还真能过……(以后遇到不会的题目,先暴力再说)ACcode:/*2017年9月18日20:08:原创 2017-09-18 20:10:30 · 554 阅读 · 0 评论 -
计蒜客17119 Trig Function 数学 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
题目链接:计蒜客17119题目思路:通过分析题目得知,题目要求的是cos(nx) 中 x^m的系数这里用到了一些数学知识。论文链接:http://www.doc88.com/p-0731914193604.html关键部分如下图:然后写的时候要注意下溢出的问题即可。/*2017年9月18日19:41:45计蒜客17119 AC */#include #inclu原创 2017-09-18 19:38:39 · 525 阅读 · 0 评论 -
HDU6195 cable cable cable 签到
题目链接:点击打开链接水题,凑数。AC代码:/*2017年9月10日20:54:06HDU 6195签到 */ #include #include #include #include #include #include #include #include #include #include using namespace std;typedef lon原创 2017-09-10 20:55:51 · 238 阅读 · 0 评论 -
HDU6197 array array array 最长上升子序列(模板题)
题目链接:点击打开链接题目思路:求出LIS和LDS(最长下降子序列,自己编的名字:),如果 LIS+k>=n或者LDS+k>=n 则输出 A is a magic array. 否则输出A is not a magic array.题目的意思有点绕,其实就是如果去掉k个元素使得剩余的不是递增序列或者不是递减序列 等价于 去掉k个元素后剩余的元素是递减序列或者递增序列。这样就懂了吧。原创 2017-09-10 20:46:15 · 325 阅读 · 0 评论 -
HDU6198 number number number 矩阵快速幂
题目链接:点击打开链接题目思路:首先暴力的方法,找出前几个数字,最最原始的暴力,下面附上。前几个数字分别是 4,12,33,88,232,609 我们在比较一下斐波那契数列,发现这几个数字是5,13,34,89,233,610 减去1之后的数字,然后针对后面这个序列,我们可以发现f(n)=2*(f(n-1)+f(n-2))-f(n-3) 得到相应的f(n)之后,再减去1就是答案啦。原创 2017-09-10 20:37:51 · 300 阅读 · 0 评论 -
计蒜客17116 Sum 找规律 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
题目链接:计蒜客17116题目思路: 考虑到 S(x) equals to the sum of all digit of the decimal expression of x,又因为 给一个n,我们要求S(n*k)%233=0,并且d的考虑到每个数的进位会很麻烦,所以我们就忽略掉进位的情况,把n写成10000100001……100001一共233个1,每两个1之间有5个零,这样不论怎么乘都原创 2017-09-17 20:15:37 · 306 阅读 · 0 评论 -
计蒜客17115 Coin 数学 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
题目链接:计蒜客17115思路:=>在伯努利试验中,事件A出现的概率为P,求在n重伯努利试验中,事件A出现偶数次(包括出现0次)的概率和出现奇数次的概率.这个应该很好想。过程如下:解释来自网上:https://www.zybang.com/question/f115cda696a119c5dc739d7a6299f201.htmlACcode:/*2017原创 2017-09-17 19:42:10 · 871 阅读 · 0 评论 -
HDU2084 数塔 动态规划入门-递推
题目链接:HDU2084题目思路: 从上往下状态太多不好处理,那么我们就从下往上递推,每一层少一个状态。设一个一维数组dp 初始状态存最下面的那一行 即 第五行dp[1]=4,dp[2]=5,dp[3]=2,dp[4]=6,dp[5]=5往上递推一层 转移方程为 dp[j]=max(dp[j],dp[j+1])+a[i][j];那么对于第4行dp[1]=max(4,5)+2=原创 2017-09-17 10:37:25 · 375 阅读 · 0 评论