传送门 唉考试的时候写错了两个细节调了一个多小时根本没调出来. 下来又调了半个小时才过. 其实很简单. 我们先dpdpdp出最开始最多多少个连续的aaa. 然后对于没法继续连续下去的用贪心+bfsbfsbfs来弄就行了. 技不如人,告辞. 代码: #include<bits/stdc++.h> using namespace std; int n,k,mx[2005][2005],maxA; char mp[2005][2005]; bool vis[2005][2005]; queue<…
传送门 直接先看最多能够凑出几个. 然后可以得到一个结论就是如果保证所有页数之和是小于等于A+BA+BA+B的一定都对应着一种合法方案. 如何构造? 我们对于第一天的AAA个小时,从大向小选,如果当前的能选就选,不能选的就分给第二天. 这样一定能构造出合法解. 代码: #include<bits/stdc++.h> using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))c…
[POI2008]TRO-Triangles https://www.cnblogs.com/GXZlegend/p/7509699.html 平面上有N个点. 求出所有以这N个点为顶点的三角形的面积和 N<=3000 计算几何. 只需要用到S=|x1y2-x2y1|/2 开始对所有点按照x排序. 枚举第一个点P,求出其他点关于P的坐标. 为了去掉绝对值,按照x1/y1排序.y1等于0要特判. 然后发现是前缀和. 本质类似于O(n^3)的暴力,每个三角形只会被统计一次. N^2logN 突破口:…
2018.10.19浪在ACM 集训队第一次测试赛 待参考资料: [1]:https://blog.csdn.net/XLno_name/article/details/78559973?utm_source=blogxgwz3 题目一览表(Green color indicate understand and Accept) 来源      考察知识点  完成时间                A P3956 棋盘 (赛后补题) 洛谷 BFS 2018.10.21 B P3951 小凯的疑惑 …
1. 给你个环状字符串,问从哪个地方拆开能使它的字典序最小. 先预处理任意子串的哈希值. 然后枚举拆点,将它与当前最优的拆点比较谁更优(就是从哪拆的字典序更小),具体方法是二分+哈希找出两串最长的相同前缀(2018.10.21 update:也可以倍增预处理哈希值,然后),然后比较这个前缀后的第一个字符,就判断出谁的字典序更小了. 2. $M\le 10^9,x=1,A_i\le 10^9,Q\le 10^5$.有两种操作,一种是 $x*=A_i$,一种是求$x/A_k\mod M$($k$为一…
Unique Paths https://oj.leetcode.com/problems/unique-paths/ A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The robot can only move either down or right at any point in time. The robot is trying to rea…
Leetcode之动态规划(DP)专题-64. 最小路径和(Minimum Path Sum) 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入: [   [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小. 找从左上角0,0到右下角的最短路径. DP:我们每个点(x,y)都可以表示为dp[x][y] = max( grid…
退役前的记录 诸位好,我是\(CJ\)最菜的\(Oier\),已经是\(G2\)的老年选手了,不知道什么时候就会退役了,总之\(G1\ double\)的机会已经没有了,去年因为联赛失利而止步,而今年虽然有了很大的进步,但留给我犯错的机会却没有了,联赛,\(WC\),省选,\(SC\),\(NOI\),我不知道我能坚持到什么时候,只要有一点失误,就真的要退役了.在这新的赛季,我不知道我什么时候就会永远的离开\(OI\),只是想记下这\(OI\)生涯最后的时光,在退役之后也能留下奋斗过的痕迹,能让…
i207M的“怕不是一个小时就要弃疗的flag”并没有生效,这次居然写到了最后,好评=.= 然而可能是退役前和i207M的最后一场比赛了TAT 不过打得真的好爽啊QAQ 最终结果: 看见那几个罚时没,全是我贡献的,还全是睿智的细节错误(逃 不罚时估计就进前100了啊QAQ,我好菜啊.jpg 我切了3道(然后挂了四次2333,i207M切了4道(orz),具体比赛历程太长了,不好写,就在题上写吧=.= A.Find a Number 开场不到十分钟就有神仙切了这神仙题 因为种种原因,这题到吃晚饭的…
一.题目说明 题目64. Minimum Path Sum,给一个m*n矩阵,每个元素的值非负,计算从左上角到右下角的最小路径和.难度是Medium! 二.我的解答 乍一看,这个是计算最短路径的,迪杰斯特拉或者弗洛伊德算法都可以.不用这么复杂,同上一个题目一样: 刷题62. Unique Paths() 不多啰嗦,直接代码,注释中有原理: #include<iostream> #include<vector> using namespace std; class Solution{…