回文1309 noip 1999

P1540 [NOIP2010 提高组] 机器翻译

题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中 ......
机器 P1540 1540 NOIP 2010

4/20 C语言判断字符串是否为回文,字符串中可以包含中文和英文

//已知中文字符占用两个字节#include <stdio.h> #include <string.h> bool judge(char* a, int& i, int& k); int main() { int i, k; char a[100]; while (scanf("%s", a) != ......
字符串 字符 回文 语言 20

LeetCode Top100:回文链表 (python)

LeetCode Top100:回文链表 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head = [1,2,2,1] 输出:true 示例 2: 输入:head = [1,2] 输出:false 提示: ......
回文 LeetCode python 100 Top

【DP】LeetCode 132. 分割回文串 II

题目链接 132. 分割回文串 II 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums[i] 为结尾的状态;dp[i][j] 分别表示 以 nums1[i] 和 nums2[ ......
回文 LeetCode 132 II

P2661 [NOIP2015 提高组] 信息传递-拓扑排序+DFS深度优先遍历

有 n 个同学(编号为 1 到 n )正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为 Ti​ 的同学。 游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以... ......
拓扑 深度 P2661 信息 2661

P1067 [NOIP2009 普及组] 多项式输出

# [NOIP2009 普及组] 多项式输出 ## 题目描述 一元 $n$ 次多项式可用如下的表达式表示: $$f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots +a_1x+a_0,a_n\ne 0$$ 其中,$a_ix^i$ 称为 $i$ 次项,$a_i$ 称为 $i$ 次项的系 ......
多项式 P1067 1067 NOIP 2009

寻找回文数

一、问题描述: 寻找并输出11~999的数m,它满足m、m2和m3均为回文数。 回文数 所谓回文数是指其各位数字左右对称的整数。例如:121、676、94249等。满足上述条件的数如m=11,m2=121,m3=1331. 二、设计思路: 从11~999遍历每个数; 判断是否为回文数,用除以10取余 ......
回文

NOIP 2010 题解

机器翻译 单向链表,如果 $i$ 在内存里,那么用 $nxt[i]$ 来记录他的下一个单词,每次要插入的时候,如果当前链表的长度小于 $m$,那么直接把他插入的末尾,如果等于 $m$,就把链表的第一个从链表里弹出来,再把这个元素加进去。 $Code :$ #include <bits/stdc++. ......
题解 NOIP 2010

最长回文子串

参考:力扣 关于回文串 "回文串”(palindromic string)是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。 方式一:动态规划 由外而内,外层是否是回文字符串取决于首尾是否相等+内层是否是回文字符串 (内层字符长度大于1) 复杂度分析 两层关于规模n的 ......
回文

P2680 NOIP2015 提高组 运输计划

P2680 NOIP2015 提高组 运输计划 最小化最长的路径,考虑二分答案。 问题转化成检验删去一条边的边权后,最长路径权值能否不超过 $x$。 考虑没删边权时,原先那些不超过 $x$ 的路径,删去边权后肯定不会影响,直接忽略。 考虑原先比 $x$ 长的那些路径。我们期望删边权后这些路径全部变短 ......
P2680 2680 2015 NOIP

409. 最长回文串

问题描述 给定一个字符串s, 返回由s中字母所构造的最长回文串的长度。 问题分析 符号设定 N~ch~ 为ch在回文串中出现的次数 回文串中最多有一个字符N~ch~为奇数 算法 class Solution: def longestPalindrome(self, s: str) -> int: c ......
回文 409

回文数

题目描述 难度简单 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 123 不是。 示例 1: 输入:x = 121 输出:true 示例 2: 输入:x = -12 ......
回文

P1074 [NOIP2009 提高组] 靶形数独

题目传送门 思路 就是一个填数独的小游戏 ~~不会填数独的先去自己玩几把~~ 众所周知,数独每一行、每一列、每一个3*3宫格内的数字均含1~9,且不重复 所以我们设三个数组r[10][10],c[10][10],block[10][10] 分别记录行、列、3*3宫格内数字的使用情况 重点:剪枝 我们 ......
P1074 1074 NOIP 2009

回文自动机(PAM)

瞎扯,不做教程。 回文自动机是接受串 $s$ 所有本质不同回文子串的类自动机结构。 考察该类自动机结构的转移边上字符的含义,因为回文串是回文的,所以从 $s$ 转移到 $t$ 应该在 $s$ 所代表的字符串两边均加上转移边上的字符 $c$。 这样就会有一个问题:考虑每次走转移边字符串长度都增加 $2 ......
自动机 回文 PAM

131. 分割回文串

class Solution { public: bool check(string s) { int n=s.size(); for(int i=0;i<n/2;i++) if(s[i]!=s[n-i-1]) return false; return true; } vector<vector<s ......
回文 131

算法-回文链表-24

/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x; } * } ......
回文 算法 24

23.4.15 NOIP2010提高游记

第一次做提高,之前做的都是普及,还是感觉挺难的,心态有点裂开。 1.机器翻译 这题首先一看就是一道模拟题目,要注意的是字典的内存问题,在超内存以后要减1,直接上代码 :-) ,时间复杂度O(n) 1 #include<bits/stdc++.h> 2 #pragma GCC opzimize(3) ......
游记 2010 NOIP 23 15

最长回文子串

题目描述 难度中等 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 示例 2: 输入:s = "cbbd" 输出:"bb" 提示: 1 ......
回文

回文方阵

#include<stdio.h> #include<string.h> #define MAXN 10 int a[MAXN][MAXN]; int main() { int n,t=0; while(scanf("%d",&n)!=EOF) { memset(a,0,sizeof(a)); t= ......
回文 方阵

131. 分割回文串

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 版本一 class Solution { private: vector<vector<string>> result; vector<string> ......
回文 131

回文数(函数)

寻找并输入11~999的数吗,它满足m,m2,m3均为回文数。 分析:判断一个数是否回文,可以用除以10取余的方法,依次取出该数的各位数字,然后用最低位充当最高位按反序重新构成新的数字,比较与原数是否相等。 #include<iostream>using namespace std;bool sym ......
回文 函数

1147. 段式回文

题目链接:1147. 段式回文 方法:贪心 解题思路 若左右较长的字符段能相同,那么将其分为较小的字符段也能相同,因此在最开始判断时,就要遵循原则:能拆尽拆,将其拆为最多字符段的情况。 代码 class Solution { public: int longestDecomposition(stri ......
回文 段式 1147

力扣---1147. 段式回文

你会得到一个字符串 text 。你应该把它分成 k 个子字符串 (subtext1, subtext2,…, subtextk) ,要求满足: subtexti 是 非空 字符串所有子字符串的连接等于 text ( 即subtext1 + subtext2 + ... + subtextk == t ......
回文 段式 1147

[C++]LeetCode1147. 段式回文

[C++]LeetCode1147. 段式回文 题目描述 Difficulty: 困难 Related Topics: 贪心, 双指针, 字符串, 动态规划, 哈希函数, 滚动哈希 你会得到一个字符串 text 。你应该把它分成 k 个子字符串 (subtext1, subtext2,…, subt ......
回文 段式 LeetCode 1147

段式回文

你会得到一个字符串 text 。你应该把它分成 k 个子字符串 (subtext1, subtext2,…, subtextk) ,要求满足: subtexti 是 非空 字符串 所有子字符串的连接等于 text ( 即subtext1 + subtext2 + ... + subtextk == ......
回文 段式

w4 P1540 [NOIP2010 提高组] 机器翻译

主要思路:因为题目要求内存满后要扔出最先进去的单词,于是就想到用queue。每查找一次要查找的单词是否已在内存内,不在则查找次数+1,把单词放入内存,同时内存大小+1。然后判断此时的内存大小是否超出给定大小,超出则pop,为超出则继续。 代码如下: #include<iostream>#includ ......
机器 P1540 1540 NOIP 2010

w2 P1008 [NOIP1998 普及组] 三连击

主要思路:构造一个judge函数,判断是否1-9都出现了。由于三位数范围为123-987,但因为要求三个数字比例为1:2:3,所以在遍历时的范围是123-987/3。遍历范围内的每一个整数x,并判断2x,3x是否满足judge函数,满足则输出这三个数,否则继续遍历。 代码如下: #include<i ......
P1008 1008 NOIP 1998 w2

[NOIP2011]铺地毯

算法比赛真是属于同类比赛中最耗时间的了,有时候一个题一个小时都拿不下。不说了先看下这个题的解法 #include <bits/stdc++.h> using namespace std; int a[100001], b[100001], g[100001], k[100001]; int n; i ......
地毯 NOIP 2011

英二 真题 1999年 (完结)

Section I Use of English Section II Reading Comprehension Text 1 It's a rough world out there. Step outside and you could break a leg slipping on your ......
真题 1999

[NOIP2006]明明的随机数

第一天开始刷题,难度还是有的,磨了2个小时,写了三个题,这次先写一个最简单的题的题解。 #include <bits/stdc++.h> using namespace std; int n; int a[101], b[101]; int main(){ cin >> n; int cnt=0; ......
随机数 NOIP 2006