千山鸟飞绝 万径人踪灭灭

万径人踪灭的灭的意思?_百度知道
万径人踪灭的灭的意思?
我有更好的答案
万经人踪灭
没了,没有的意思,消失
还有了吗?
不知道重复发大幅度飞飞飞
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。千山鸟飞绝 万径人踪灭用了什么修辞手法_百度知道
千山鸟飞绝 万径人踪灭用了什么修辞手法
我有更好的答案
千山鸟飞绝,万径人踪灭用了对比、衬托、夸张的修辞手法。江雪朝代:唐代作者:柳宗元千山鸟飞绝,万径人踪灭。孤舟蓑笠翁,独钓寒江雪。
采纳率:91%
这句出自柳宗元的:江雪唐代
柳宗元原文:千山鸟飞绝,万径人踪灭。孤舟蓑笠翁,独钓寒江雪。这是一首押仄韵的五言绝句,是柳宗元的代表作之一。大约作于他谪居永州(今湖南零陵)期间。  柳宗元被贬到永州之后,精神上受到很大刺激和压抑,于是,他就借描写山水景物,借歌咏隐居在山水之间的渔翁,来寄托自己清高而孤傲的情感,抒发自己在政治上失意的郁闷苦恼。因此,柳宗元笔下的山水有个显著的特点,那就是把客观境界写得比较幽僻,而诗人的主观的心情则显得比较寂寞,甚至有时不免过于孤独,过于冷清,不带一点人间烟火气。这显然同他一生的遭遇和他整个的思想感情的发展变化是分不开的。  这首《江雪》正是这样。诗人只用了二十个字,就把我们带到一个幽静寒冷的境地。呈现在读者眼前的,是这样一幅图画:在下着大雪的江面上,一叶小舟,一个老渔翁,独自在寒冷的江心垂钓。诗人向读者展示的,是这样一些内容:天地之间是如此纯洁而寂静,一尘不染,万籁无声;渔翁的生活是如此清高,渔翁的性格是如此孤傲。
其实,这正是柳宗元由于憎恨当时那个一天天在走下坡路的唐代社会而创造出来的一个幻想境界,比起陶渊明《桃花源记》里的人物,恐怕还要显得虚无缥缈,远离尘世。诗人所要具体描写的本极简单,不过是一条小船,一个穿蓑衣戴笠帽的老渔翁,在大雪的江面上钓鱼,如此而已。可是,为了突出主要的描写对象,诗人不惜用一半篇幅去描写它的背景,而且使这个背景尽量广大寥廓,几乎到了浩瀚无边的程度。背景越广大,主要的描写对象就越显得突出。
首先,诗人用“千山”、“万径”这两个词,目的是为了给下面两句的“孤舟”和“独钓”的画面作陪衬。没有“千”、“万”两字,下面的“孤”、“独”两字也就平淡无奇,没有什么感染力了。其次,山上的飞鸟,路上的人踪,这本来是极平常的事,也是最一般化的形象。可是,诗人却把它们放在“千山”、“万径”的下面,再加上一个“绝”和一个“灭”字,这就把最常见的、最一般化的动态,一下子给变成极端的寂静、绝对的沉默,形成一种不平常的景象。因此,下面两句原来是属于静态的描写,由于摆在这种绝对幽静、绝对沉寂的背景之下,倒反而显得玲珑剔透,有了生气,在画面上浮动起来、活跃起来了。
可以这样说,前两句本来是陪衬的远景,照一般理解,只要勾勒个轮廓也就可以了,不必费很大气力去精雕细刻。可是,诗人却恰好不这样处理。这好象拍电影,用放大了多少倍的特写镜头,把属于背景范围的每一个角落都交代得、反映得一清二楚。写得越具体细致,就越显得概括夸张。
而后面的两句,本来是诗人有心要突出描写的对象,结果却使用了远距离的镜头,反而把它缩小了多少倍,给读者一种空灵剔透、可见而不可即的感觉。只有这样写,才能表达作者所迫切希望展示给读者的那种摆脱世俗、超然物外的清高孤傲的思想感情。至于这种远距离感觉的形成,主要是作者把一个“雪”字放在全诗的最末尾,并且同“江”字连起来所产生的效果。  在这首诗里,笼罩一切、包罗一切的东西是雪、山上是雪,路上也是雪,而且“千山”、“万径”都是雪,才使得“鸟飞绝”、“人踪灭”。就连船篷上,渔翁的蓑笠上,当然也都是雪。可是作者并没有把这些景物同“雪”明显地联系在一起。相反,在这个画面里,只有江,只有江心。江,当然不会存雪,不会被雪盖住,而且即使雪下到江里,也立刻会变成水。然而作者却偏偏用了“寒江雪”三个字,把“江”和“雪”这两个关系最远的形象联系到一起,这就给人以一种比较空蒙、比较遥远、比较缩小了的感觉,这就形成了远距离的镜头。这就使得诗中主要描写的对象更集中、更灵巧、更突出。因为连江里都仿佛下满了雪,连不存雪的地方都充满了雪,这就把雪下得又大又密、又浓又厚的情形完全写出来了,把水天不分、上下苍茫一片的气氛也完全烘托出来了。至于上面再用一个“寒”字,固然是为了点明气候;但诗人的主观意图却是在想不动声色地写出渔翁的精神世界。试想,在这样一个寒冷寂静的环境里,那个老渔翁竟然不怕天冷,不怕雪大,忘掉了一切,专心地钓鱼,形体虽然孤独,性格却显得清高孤傲,甚至有点凛然不可侵犯似的。这个被幻化了的、美化了的渔翁形象,实际正是柳宗元本人的思想感情的寄托和写照。由此可见,这“寒江雪”三字正是“画龙点睛”之笔,它把全诗前后两部分有机地联系起来,不但形成了一幅凝炼概括的图景,也塑造了渔翁完整突出的形象。  用具体而细致的手法来摹写背景,用远距离画面来描写主要形象;精雕细琢和极度的夸张概括,错综地统一在一首诗里,是这首山水小诗独有的艺术特色。
对比,衬托,夸张的修辞手法
夸张, 起衬托作用。
其他1条回答
为您推荐:
其他类似问题
修辞手法的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
千山鸟飞绝,万径人踪灭的意思?
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
“千山鸟飞绝,万径人踪灭.”绝:绝迹.人踪:人的踪迹.灭:消失,没有了.千山:虚指所有的山.万径:虚指所有的路.这两行的意思是:所有的山上,都看不到飞鸟的影子,所有的小路,都没有人的踪影.
为您推荐:
其他类似问题
扫描下载二维码扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
千山鸟飞绝 万径人踪灭是什么季节的?
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
“千山鸟飞绝,万径人踪灭”,如单看这一句,可能会有秋冬季节一说,但后一句中“独钓寒江雪”,应明确表明这就是冬季,而且是寒冬.虽也有“胡天八有即飞雪”一说,但联系诗人写这首诗的背景,不难看出,这个季节正处于寒冬.因为这首诗是诗人在贬永州时写的,他描绘的是:冰天雪地的寒江,没有行人、飞鸟,只有一位老翁独处孤舟,默然垂钓.故就是冬季.
为您推荐:
其他类似问题
扫描下载二维码[BZOJ3160]万径人踪灭
数据规模及规定
问题分为两部分:
一. 对于每一个分界点(某个位置)或分界线(某两个位置中间),要求这么一个东西
意思就是回文串要求左半部分与右半部分对称,那么找到这些对称的位置,每个位置有选择或者不选两种情况,所以是 2 的那么多次方。
求法:因为原串只有 a, b 两种字符,所以把 a 设成 1,b 设成 0 求一次卷积,再把 b 设成 1,a 设成 0 求一次卷积,加起来即可。
二. 排除连续的情况
hash + 二分。
#include &iostream&
#include &cstdio&
#include &algorithm&
#include &cmath&
#include &stack&
#include &vector&
#include &queue&
#include &cstring&
#include &string&
#include &map&
#include &set&
const int BufferSize = 1 && 16;
char buffer[BufferSize], *Head, *T
inline char Getchar() {
if(Head == Tail) {
int l = fread(buffer, 1, BufferSize, stdin);
Tail = (Head = buffer) +
return *Head++;
int read() {
int x = 0, f = 1; char c = Getchar();
while(!isdigit(c)){ if(c == '-') f = -1; c = Getchar(); }
while(isdigit(c)){ x = x * 10 + c - '0'; c = Getchar(); }
return x *
#define maxn 260010
#define MOD
#define ULL unsigned long long
const double pi = acos(-1.0);
ULL hashl[maxn], hashr[maxn], hashl2[maxn], hashr2[maxn], id2[maxn], id3[maxn];
char S[maxn];
struct Complex {
Complex() { a = b = 0.0; }
Complex operator + (const Complex& t) const {
ans.a = a + t.a;
ans.b = b + t.b;
Complex operator - (const Complex& t) const {
ans.a = a - t.a;
ans.b = b - t.b;
Complex operator * (const Complex& t) const {
ans.a = a * t.a - b * t.b;
ans.b = a * t.b + b * t.a;
Complex operator *= (const Complex& t) {
*this = *this *
} a[maxn&&1], b[maxn&&1];
int tar[maxn];
void FFT(Complex* a, int n, int tp) {
for(int i = 0; i & i++) if(i & tar[i]) swap(a[i], a[tar[i]]);
for(int i = 1; i & i &&= 1) {
Complex w, wn.a = cos(pi / i); wn.b = sin(pi / i) *
for(int j = 0; j & j += (i && 1)) {
w.a = 1.0; w.b = 0.0;
for(int k = 0; k & k++) {
Complex t1 = a[j+k], t2 = a[j+k+i] *
a[j+k] = t1 + t2;
a[j+k+i] = t1 - t2;
if(tp & 0) for(int i = 0; i &= i++) a[i].a = a[i].a / (double)n + .5;
ULL lstr(int l, int r) { l++, r++; return hashl[r] - hashl[l-1] * id2[r-l+1]; }
ULL rstr(int l, int r) { l++, r++; return hashr[l] - hashr[r+1] * id2[r-l+1]; }
ULL lstr2(int l, int r) { l++, r++; return hashl2[r] - hashl2[l-1] * id3[r-l+1]; }
ULL rstr2(int l, int r) { l++, r++; return hashr2[l] - hashr2[r+1] * id3[r-l+1]; }
int two[maxn], ans, L
bool check(int i, int mid) {
int ll = (i && 1) - mid + 1, lr = (i && 1), rl = (i & 1) ? (i && 1) + 1 : lr, rr = rl + mid - 1;
bool res = ll &= 0 && rr & Len && (rstr(ll, lr) == lstr(rl, rr)) && (rstr2(ll, lr) == lstr2(rl, rr));
// if((i && 1) == 127) printf("%d(%c) %d(%c) %d(%c) %d(%c) %llu %llu\t", ll, S[ll], lr, S[lr], rl, S[rl], rr, S[rr], rstr(ll, lr), lstr(rl, rr));
return ll &= 0 && rr & Len && rstr(ll, lr) == lstr(rl, rr) && rstr2(ll, lr) == lstr2(rl, rr);
int main() {
scanf("%s", S);
int m = strlen(S) - 1; Len = strlen(S);
int L = 0;
for(n = 1; n &= (m && 1); n &&= 1) L++;
for(int i = 0; i & i++) tar[i] = (tar[i&&1] && 1) | ((i & 1) && L - 1);
for(int i = 0; i &= i++) a[i].a = (double)(S[i] == 'a');
FFT(a, n, 1);
for(int i = 0; i &= i++) a[i] *= a[i];
for(int i = 0; i &= i++) b[i].a = (double)(S[i] == 'b');
FFT(b, n, 1);
for(int i = 0; i &= i++) b[i] *= b[i], a[i] = a[i] + b[i];
FFT(a, n, -1);
for(int i = 0; i &= (m && 1); i++) a[i].a = (double)((int)a[i].a + 1 && 1), b[i].a = (double)((int)b[i].a + 1 && 1);
// for(int i = 0; i &= (m && 1); i++) printf("%d ", (int)a[i].a); putchar('\n');
two[0] = 1;
for(int i = 1; i &= i++) {
two[i] = two[i-1] && 1;
if(two[i] & MOD) two[i] -= MOD;
hashl[0] = 0;
for(int i = 1; i &= m + 1; i++) hashl[i] = hashl[i-1] * 2 + S[i-1] - 'a';
hashr[m+2] = 0;
for(int i = m + 1; i--) hashr[i] = hashr[i+1] * 2 + S[i-1] - 'a';
id2[0] = 1;
for(int i = 1; i &= m + 1; i++) id2[i] = id2[i-1] * 2;
hashl2[0] = 0;
for(int i = 1; i &= m + 1; i++) hashl2[i] = hashl2[i-1] * 3 + S[i-1] - 'a';
hashr2[m+2] = 0;
for(int i = m + 1; i--) hashr2[i] = hashr2[i+1] * 3 + S[i-1] - 'a';
id3[0] = 1;
for(int i = 1; i &= m + 1; i++) id3[i] = id3[i-1] * 3;
m++, m &&= 1; int tmp = 0;
for(int i = 0; i &= m - 2; i++) {
ans += two[(int)a[i].a];
int l = 0, r = min((i && 1) + 1, (i & 1) ? (m && 1) - (i && 1) : (m && 1) - (i && 1) + 1) + 1;
while(l & r - 1) {
int mid = l + r && 1;
if(check(i, mid)) l = else r =
if(check(i, l + 1)) l++;
ans -= l + 1;
if(ans & 0) ans += MOD;
if(ans & MOD) ans -= MOD;
printf("%d\n", ans);
当然也可以用 manacher。
#include &iostream&
#include &cstdio&
#include &cstdlib&
#include &cstring&
#include &cctype&
#include &algorithm&
#include &cmath&
int read() {
int x = 0, f = 1; char c = getchar();
while(!isdigit(c)){ if(c == '-') f = -1; c = getchar(); }
while(isdigit(c)){ x = x * 10 + c - '0'; c = getchar(); }
return x *
#define maxn 100010
#define maxN 262150
#define MOD
const double pi = acos(-1.0);
char S[maxn], Str[maxn&&1];
int Len[maxn&&1], alp[maxn&&1];
struct Vec {
Vec(double _, double __): x(_), y(__) {}
Vec operator + (const Vec& t) const { return Vec(x + t.x, y + t.y); }
Vec operator - (const Vec& t) const { return Vec(x - t.x, y - t.y); }
Vec operator * (const Vec& t) const { return Vec(x * t.x - y * t.y, x * t.y + t.x * y); }
Vec operator *= (const Vec& t) { *this = *this * return * }
Vec operator = (const bool& t) { this-&x = this-&y = 0; return * }
} A[maxN], B[maxN];
int tar[maxN];
void FFT_init(int K) {
int n = 1 && K;
for(int i = 0; i & i++) {
tar[i] = 0;
for(int j = 0; j & K; j++) tar[i] = tar[i] && 1 | (i && j & 1);
void FFT(Vec x[], int K, int fl) {
int n = 1 && K;
for(int i = 0; i & i++) if(i & tar[i]) swap(x[i], x[tar[i]]);
for(int i = 1; i &= K; i++) {
Vec w, wn(cos(2.0 * pi / (1 && i)), sin(2.0 * pi / (1 && i)) * fl);
for(int j = 0; j & j += (1 && i)) {
w = Vec(1, 0);
for(int k = k & j + (1 && i - 1); k++, w *= wn) {
Vec t1 = x[k], t2 = w * x[k+(1&&i-1)];
x[k] = t1 + t2;
x[k+(1&&i-1)] = t1 - t2;
int two[maxN];
int main() {
scanf("%s", S);
int n = strlen(S);
for(int i = 0; i & i++) A[i] = S[i] == 'a', B[i] = S[i] == 'b';
int m = (n && 1) - 1, K = 0;
for(n = 1; n & n &&= 1) K++;
FFT_init(K);
FFT(A, K, 1); FFT(B, K, 1);
for(int i = 0; i & i++) A[i] *= A[i], B[i] *= B[i];
FFT(A, K, -1); FFT(B, K, -1);
two[0] = 1;
for(int i = 1; i &= i++) {
two[i] = two[i-1] && 1;
if(two[i] &= MOD) two[i] -= MOD;
int ans = 0;
for(int i = 0; i & i++) {
int a = A[i].x / n + .5, b = B[i].x / n + .5;
ans += two[a+b+1&&1] - 1;
printf("%d %d %d\n", a, b, a + b + 1 && 1);
if(ans &= MOD) ans -= MOD;
n = strlen(S);
for(int i = 1; i &= i++) Str[(i&&1)-1] = S[i-1], Str[i&&1] = '#'; n &&= 1;
for(int i = 1; i &= i++) alp[i] = alp[i-1] + ('a' &= Str[i] && Str[i] &= 'z');
// puts(Str + 1);
int mxp = 0;
for(int i = 1; i &= i++) {
int mxr = mxp + Len[mxp] - 1;
if(mxr &= i) Len[i] = max(min(Len[(mxp&&1)-i], mxr - i + 1), 1);
else Len[i] = 1;
while(1 &= i - Len[i] + 1 && i + Len[i] - 1 &= n && Str[i-Len[i]+1] == Str[i+Len[i]-1]) Len[i]++;
if(mxr & i + Len[i] - 1) mxp =
printf("%d%c", Len[i], i & n ? ' ' : '\n');
ans -= alp[i+Len[i]-1] - alp[i-1];
if(ans & 0) ans += MOD;
printf("%d\n", ans);
阅读(...) 评论()}

我要回帖

更多关于 会当凌绝顶 一览众山小 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信