Character Encoding((1+x+x^2+...+x^k)^m中x^n的系数)

本文详细解析了组合数学在解决复杂计数问题中的应用,特别关注于使用母函数和容斥原理来计算将k个球放入m个盒子的不同方案数。通过引入数学公式和详细的步骤解释,文章提供了理解和解决此类问题的有效途径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原题 : hdu 6397

题意 :

k个球装入m个不同的盒子,每个盒子可装的球的数量为0~n-1,求方案数

解析:

有母函数现有公式 :

(1+x+x2+...+xk)mn=1kmanxn ( 1 + x + x 2 + . . . + x k ) m ⇒ ∑ n = 1 k ∗ m a n ∗ x n

an=i=0[nk+1](1)iCimCn(k+1)in+m(k+1)i+1 ∀ a n = ∑ i = 0 [ n k + 1 ] ( − 1 ) i ∗ C m i ∗ C n + m − ( k + 1 ) ∗ i + 1 n − ( k + 1 ) ∗ i



讲一下容斥的做法 :

在不考虑数量上限的时候,方案数为 Cm1m+k1, C m + k − 1 m − 1 , 此时包括了不合法的情况,即有盒子的球数大于等于n

为什么是 Cm1m+k1? C m + k − 1 m − 1 ?

我们有k个数,m个盒子,相当于在k个数中插入m-1个板子,就变成了m+k-1的排列数 Am+k1m+k1 A m + k − 1 m + k − 1 ,除去板子的顺序 Am1m1 A m − 1 m − 1 和数的顺序 Akk, A k k , 就得到了 Cm1m+k1 C m + k − 1 m − 1

考虑大于等于n的情况:

设至少有i个盒子不合法(包括i以上个盒子)的方案数为 S(i) S ( i ) ,显然 S(i) S ( i ) 包括了 S(i+1),S(i+2)... S ( i + 1 ) , S ( i + 2 ) . . . 的情况

那么最终答案为
Cm1m+k1S(1)+S(2)... C m + k − 1 m − 1 − S ( 1 ) + S ( 2 ) − . . .


至于求 S(i) S ( i ) ,我们可以换个思路想,对任意i个盒子,我们在分球之前就放入n个球使之不合法,然后再把剩下的 kin k − i ∗ n 个球随机放,方案数为 CimCm1min+k1 C m i ∗ C m − i ∗ n + k − 1 m − 1 ,你会发现最后放好的结果可能不止i个盒子不合法,即包括了i+1,i+2的情况,就是上面答案中的情况即容斥原理的公式

代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
#include<set>
#include<map>
#include<list>
#include<vector>
#include<stack>
#include<queue>
#include<ctime>
#include<cstdlib>
#include<sstream>
#include<functional>
using namespace std;
#define D long long
#define F double
#define mmm(a,b) memset(a,b,sizeof(a))
D read(){ D ans=0; char last=' ',ch=getchar();
while(ch<'0' || ch>'9')last=ch,ch=getchar();
while(ch>='0' && ch<='9')ans=ans*10+ch-'0',ch=getchar();
if(last=='-')ans=-ans; return ans;
}
const int N=200000;
const F pi=acos(-1);
const D mod=998244353;
const F _e=2.718281828459045;

/*快速幂*/
D swift(D a,D b){
    D ans=1ll;
    while(b){
        if(b%2)ans=ans*a%mod;
        b>>=1;
        a=a*a%mod;
    }return ans;
}

D inv(D a){return swift(a,mod-2);}//费马小定理


/*预处理阶乘*/
D fac[N+9];
D inv_fac[N+9];
void init_fac(){
    fac[0]=fac[1]=1ll;
    for(int i=2;i<=N;i++)fac[i]=fac[i-1]*i%mod;
    //预处理阶乘逆元
    inv_fac[N]=swift(fac[N],mod-2);//费马小定理求 N!的逆元
    for(D i=N-1;i>=1;i--) inv_fac[i]=(inv_fac[i+1]*(i+1))%mod;
    inv_fac[0]=1;
}



D A(D a,D b){//排列数 a下
    if(b>a||b<0)return 0;
    return fac[a]*inv_fac[a-b]%mod;
}
D C(D a,D b){//组合数 a下
    if(b>a||b<0)return 0;
    return fac[a]*inv_fac[a-b]%mod*inv_fac[b]%mod;
}


int main(){
    init_fac();
    int t=read();
    while(t--){
        D n=read(),m=read(),k=read();
        if(m*(n-1)<k){printf("0\n");continue;}
        D ans=C(m+k-1,m-1);
        for(int i=1;i*n<=k;i++){
            D f=1;
            if(i%2)f=-f;
            ans=(ans+f*C(m,i)*C(m-i*n+k-1,m-1)%mod+mod)%mod;
        }
        printf("%lld\n",ans);
    }
}











--- Logging error --- Traceback (most recent call last): File "D:\Anaconda\Lib\logging\__init__.py", line 1163, in emit stream.write(msg + self.terminator) UnicodeEncodeError: 'gbk' codec can't encode character '\xb3' in position 75: illegal multibyte sequence Call stack: File "D:\PythonProject1\水位计算软件.py", line 606, in <module> root.mainloop() File "D:\Anaconda\Lib\tkinter\__init__.py", line 1505, in mainloop self.tk.mainloop(n) File "D:\Anaconda\Lib\tkinter\__init__.py", line 1968, in __call__ return self.func(*args) File "D:\PythonProject1\水位计算软件.py", line 572, in show_results self.calculator.plot_results() File "D:\PythonProject1\水位计算软件.py", line 274, in plot_results plt.show() File "D:\Anaconda\Lib\site-packages\matplotlib\pyplot.py", line 614, in show return _get_backend_mod().show(*args, **kwargs) File "D:\Anaconda\Lib\site-packages\matplotlib\backend_bases.py", line 3547, in show cls.mainloop() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\_backend_tk.py", line 544, in start_main_loop first_manager.window.mainloop() File "D:\Anaconda\Lib\tkinter\__init__.py", line 1505, in mainloop self.tk.mainloop(n) File "D:\Anaconda\Lib\tkinter\__init__.py", line 1968, in __call__ return self.func(*args) File "D:\Anaconda\Lib\tkinter\__init__.py", line 862, in callit func(*args) File "D:\Anaconda\Lib\site-packages\matplotlib\backends\_backend_tk.py", line 274, in idle_draw self.draw() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_tkagg.py", line 10, in draw super().draw() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_agg.py", line 382, in draw self.figure.draw(self.renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\figure.py", line 3257, in draw mimage._draw_list_compositing_images( File "D:\Anaconda\Lib\site-packages\matplotlib\image.py", line 134, in _draw_list_compositing_images a.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\axes\_base.py", line 3181, in draw mimage._draw_list_compositing_images( File "D:\Anaconda\Lib\site-packages\matplotlib\image.py", line 134, in _draw_list_compositing_images a.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\axis.py", line 1423, in draw self.label.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 752, in draw bbox, info, descent = self._get_layout(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 382, in _get_layout w, h, d = _get_text_metrics_with_cache( File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 69, in _get_text_metrics_with_cache return _get_text_metrics_with_cache_impl( File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 77, in _get_text_metrics_with_cache_impl return renderer_ref().get_text_width_height_descent(text, fontprop, ismath) File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_agg.py", line 215, in get_text_width_height_descent self.mathtext_parser.parse(s, self.dpi, prop) File "D:\Anaconda\Lib\site-packages\matplotlib\mathtext.py", line 86, in parse return self._parse_cached(s, dpi, prop, antialiased, load_glyph_flags) File "D:\Anaconda\Lib\site-packages\matplotlib\mathtext.py", line 100, in _parse_cached box = self._parser.parse(s, fontset, fontsize, dpi) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 2170, in parse result = self._expression.parseString(s) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 4891, in parseImpl return super().parseImpl(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 856, in _parseNoCache tokens = fn(instring, tokens_start, ret_tokens) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 291, in wrapper ret = func(*args[limit:]) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 2206, in non_math symbols = [Char(c, self.get_state()) for c in s] File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 1091, in __init__ self._update_metrics() File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 1097, in _update_metrics metrics = self._metrics = self.fontset.get_metrics( File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 286, in get_metrics info = self._get_info(font, font_class, sym, fontsize, dpi) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 375, in _get_info font, num, slanted = self._get_glyph(fontname, font_class, sym) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 710, in _get_glyph return super()._get_glyph(fontname, font_class, sym) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 648, in _get_glyph _log.info("Substituting symbol %s from %s", sym, family) Message: 'Substituting symbol %s from %s' Arguments: ('³', 'STIXGeneral') 2025-07-26 16:29:36,050 - matplotlib.mathtext - WARNING - Font 'default' does not have a glyph for '\xb3' [U+b3], substituting with a dummy symbol. 2025-07-26 16:29:36,051 - matplotlib.mathtext - INFO - Substituting symbol ³ from STIXGeneral 2025-07-26 16:29:36,145 - matplotlib.mathtext - WARNING - Font 'default' does not have a glyph for '\xb3' [U+b3], substituting with a dummy symbol. 2025-07-26 16:29:36,145 - matplotlib.mathtext - INFO - Substituting symbol ³ from STIXGeneral --- Logging error --- Traceback (most recent call last): File "D:\Anaconda\Lib\logging\__init__.py", line 1163, in emit stream.write(msg + self.terminator) UnicodeEncodeError: 'gbk' codec can't encode character '\xb3' in position 75: illegal multibyte sequence Call stack: File "D:\PythonProject1\水位计算软件.py", line 606, in <module> root.mainloop() File "D:\Anaconda\Lib\tkinter\__init__.py", line 1505, in mainloop self.tk.mainloop(n) File "D:\Anaconda\Lib\tkinter\__init__.py", line 1968, in __call__ return self.func(*args) File "D:\PythonProject1\水位计算软件.py", line 572, in show_results self.calculator.plot_results() File "D:\PythonProject1\水位计算软件.py", line 274, in plot_results plt.show() File "D:\Anaconda\Lib\site-packages\matplotlib\pyplot.py", line 614, in show return _get_backend_mod().show(*args, **kwargs) File "D:\Anaconda\Lib\site-packages\matplotlib\backend_bases.py", line 3547, in show cls.mainloop() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\_backend_tk.py", line 544, in start_main_loop first_manager.window.mainloop() File "D:\Anaconda\Lib\tkinter\__init__.py", line 1505, in mainloop self.tk.mainloop(n) File "D:\Anaconda\Lib\tkinter\__init__.py", line 1968, in __call__ return self.func(*args) File "D:\Anaconda\Lib\tkinter\__init__.py", line 862, in callit func(*args) File "D:\Anaconda\Lib\site-packages\matplotlib\backends\_backend_tk.py", line 274, in idle_draw self.draw() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_tkagg.py", line 10, in draw super().draw() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_agg.py", line 382, in draw self.figure.draw(self.renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\figure.py", line 3257, in draw mimage._draw_list_compositing_images( File "D:\Anaconda\Lib\site-packages\matplotlib\image.py", line 134, in _draw_list_compositing_images a.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\axes\_base.py", line 3181, in draw mimage._draw_list_compositing_images( File "D:\Anaconda\Lib\site-packages\matplotlib\image.py", line 134, in _draw_list_compositing_images a.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\axis.py", line 1423, in draw self.label.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 752, in draw bbox, info, descent = self._get_layout(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 382, in _get_layout w, h, d = _get_text_metrics_with_cache( File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 69, in _get_text_metrics_with_cache return _get_text_metrics_with_cache_impl( File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 77, in _get_text_metrics_with_cache_impl return renderer_ref().get_text_width_height_descent(text, fontprop, ismath) File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_agg.py", line 215, in get_text_width_height_descent self.mathtext_parser.parse(s, self.dpi, prop) File "D:\Anaconda\Lib\site-packages\matplotlib\mathtext.py", line 86, in parse return self._parse_cached(s, dpi, prop, antialiased, load_glyph_flags) File "D:\Anaconda\Lib\site-packages\matplotlib\mathtext.py", line 100, in _parse_cached box = self._parser.parse(s, fontset, fontsize, dpi) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 2170, in parse result = self._expression.parseString(s) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 4891, in parseImpl return super().parseImpl(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 856, in _parseNoCache tokens = fn(instring, tokens_start, ret_tokens) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 291, in wrapper ret = func(*args[limit:]) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 2206, in non_math symbols = [Char(c, self.get_state()) for c in s] File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 1091, in __init__ self._update_metrics() File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 1097, in _update_metrics metrics = self._metrics = self.fontset.get_metrics( File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 286, in get_metrics info = self._get_info(font, font_class, sym, fontsize, dpi) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 375, in _get_info font, num, slanted = self._get_glyph(fontname, font_class, sym) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 710, in _get_glyph return super()._get_glyph(fontname, font_class, sym) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 648, in _get_glyph _log.info("Substituting symbol %s from %s", sym, family) Message: 'Substituting symbol %s from %s' Arguments: ('³', 'STIXGeneral') 2025-07-26 16:29:37,728 - matplotlib.mathtext - WARNING - Font 'default' does not have a glyph for '\xb3' [U+b3], substituting with a dummy symbol. 2025-07-26 16:29:37,728 - matplotlib.mathtext - INFO - Substituting symbol ³ from STIXGeneral --- Logging error --- Traceback (most recent call last): File "D:\Anaconda\Lib\logging\__init__.py", line 1163, in emit stream.write(msg + self.terminator) UnicodeEncodeError: 'gbk' codec can't encode character '\xb3' in position 75: illegal multibyte sequence Call stack: File "D:\PythonProject1\水位计算软件.py", line 606, in <module> root.mainloop() File "D:\Anaconda\Lib\tkinter\__init__.py", line 1505, in mainloop self.tk.mainloop(n) File "D:\Anaconda\Lib\tkinter\__init__.py", line 1968, in __call__ return self.func(*args) File "D:\PythonProject1\水位计算软件.py", line 572, in show_results self.calculator.plot_results() File "D:\PythonProject1\水位计算软件.py", line 274, in plot_results plt.show() File "D:\Anaconda\Lib\site-packages\matplotlib\pyplot.py", line 614, in show return _get_backend_mod().show(*args, **kwargs) File "D:\Anaconda\Lib\site-packages\matplotlib\backend_bases.py", line 3547, in show cls.mainloop() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\_backend_tk.py", line 544, in start_main_loop first_manager.window.mainloop() File "D:\Anaconda\Lib\tkinter\__init__.py", line 1505, in mainloop self.tk.mainloop(n) File "D:\Anaconda\Lib\tkinter\__init__.py", line 1968, in __call__ return self.func(*args) File "D:\Anaconda\Lib\tkinter\__init__.py", line 862, in callit func(*args) File "D:\Anaconda\Lib\site-packages\matplotlib\backends\_backend_tk.py", line 274, in idle_draw self.draw() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_tkagg.py", line 10, in draw super().draw() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_agg.py", line 382, in draw self.figure.draw(self.renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\figure.py", line 3257, in draw mimage._draw_list_compositing_images( File "D:\Anaconda\Lib\site-packages\matplotlib\image.py", line 134, in _draw_list_compositing_images a.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\axes\_base.py", line 3181, in draw mimage._draw_list_compositing_images( File "D:\Anaconda\Lib\site-packages\matplotlib\image.py", line 134, in _draw_list_compositing_images a.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\axis.py", line 1423, in draw self.label.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 752, in draw bbox, info, descent = self._get_layout(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 382, in _get_layout w, h, d = _get_text_metrics_with_cache( File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 69, in _get_text_metrics_with_cache return _get_text_metrics_with_cache_impl( File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 77, in _get_text_metrics_with_cache_impl return renderer_ref().get_text_width_height_descent(text, fontprop, ismath) File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_agg.py", line 215, in get_text_width_height_descent self.mathtext_parser.parse(s, self.dpi, prop) File "D:\Anaconda\Lib\site-packages\matplotlib\mathtext.py", line 86, in parse return self._parse_cached(s, dpi, prop, antialiased, load_glyph_flags) File "D:\Anaconda\Lib\site-packages\matplotlib\mathtext.py", line 100, in _parse_cached box = self._parser.parse(s, fontset, fontsize, dpi) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 2170, in parse result = self._expression.parseString(s) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 4891, in parseImpl return super().parseImpl(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 856, in _parseNoCache tokens = fn(instring, tokens_start, ret_tokens) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 291, in wrapper ret = func(*args[limit:]) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 2206, in non_math symbols = [Char(c, self.get_state()) for c in s] File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 1091, in __init__ self._update_metrics() File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 1097, in _update_metrics metrics = self._metrics = self.fontset.get_metrics( File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 286, in get_metrics info = self._get_info(font, font_class, sym, fontsize, dpi) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 375, in _get_info font, num, slanted = self._get_glyph(fontname, font_class, sym) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 710, in _get_glyph return super()._get_glyph(fontname, font_class, sym) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 648, in _get_glyph _log.info("Substituting symbol %s from %s", sym, family) Message: 'Substituting symbol %s from %s' Arguments: ('³', 'STIXGeneral') --- Logging error --- Traceback (most recent call last): File "D:\Anaconda\Lib\logging\__init__.py", line 1163, in emit stream.write(msg + self.terminator) UnicodeEncodeError: 'gbk' codec can't encode character '\xb3' in position 75: illegal multibyte sequence Call stack: File "D:\PythonProject1\水位计算软件.py", line 606, in <module> root.mainloop() File "D:\Anaconda\Lib\tkinter\__init__.py", line 1505, in mainloop self.tk.mainloop(n) File "D:\Anaconda\Lib\tkinter\__init__.py", line 1968, in __call__ return self.func(*args) File "D:\PythonProject1\水位计算软件.py", line 572, in show_results self.calculator.plot_results() File "D:\PythonProject1\水位计算软件.py", line 274, in plot_results plt.show() File "D:\Anaconda\Lib\site-packages\matplotlib\pyplot.py", line 614, in show return _get_backend_mod().show(*args, **kwargs) File "D:\Anaconda\Lib\site-packages\matplotlib\backend_bases.py", line 3547, in show cls.mainloop() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\_backend_tk.py", line 544, in start_main_loop first_manager.window.mainloop() File "D:\Anaconda\Lib\tkinter\__init__.py", line 1505, in mainloop self.tk.mainloop(n) File "D:\Anaconda\Lib\tkinter\__init__.py", line 1968, in __call__ return self.func(*args) File "D:\Anaconda\Lib\tkinter\__init__.py", line 862, in callit func(*args) File "D:\Anaconda\Lib\site-packages\matplotlib\backends\_backend_tk.py", line 274, in idle_draw self.draw() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_tkagg.py", line 10, in draw super().draw() File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_agg.py", line 382, in draw self.figure.draw(self.renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\figure.py", line 3257, in draw mimage._draw_list_compositing_images( File "D:\Anaconda\Lib\site-packages\matplotlib\image.py", line 134, in _draw_list_compositing_images a.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\axes\_base.py", line 3181, in draw mimage._draw_list_compositing_images( File "D:\Anaconda\Lib\site-packages\matplotlib\image.py", line 134, in _draw_list_compositing_images a.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\axis.py", line 1423, in draw self.label.draw(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 752, in draw bbox, info, descent = self._get_layout(renderer) File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 382, in _get_layout w, h, d = _get_text_metrics_with_cache( File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 69, in _get_text_metrics_with_cache return _get_text_metrics_with_cache_impl( File "D:\Anaconda\Lib\site-packages\matplotlib\text.py", line 77, in _get_text_metrics_with_cache_impl return renderer_ref().get_text_width_height_descent(text, fontprop, ismath) File "D:\Anaconda\Lib\site-packages\matplotlib\backends\backend_agg.py", line 215, in get_text_width_height_descent self.mathtext_parser.parse(s, self.dpi, prop) File "D:\Anaconda\Lib\site-packages\matplotlib\mathtext.py", line 86, in parse return self._parse_cached(s, dpi, prop, antialiased, load_glyph_flags) File "D:\Anaconda\Lib\site-packages\matplotlib\mathtext.py", line 100, in _parse_cached box = self._parser.parse(s, fontset, fontsize, dpi) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 2170, in parse result = self._expression.parseString(s) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 4891, in parseImpl return super().parseImpl(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 856, in _parseNoCache tokens = fn(instring, tokens_start, ret_tokens) File "D:\Anaconda\Lib\site-packages\pyparsing\core.py", line 291, in wrapper ret = func(*args[limit:]) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 2206, in non_math symbols = [Char(c, self.get_state()) for c in s] File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 1091, in __init__ self._update_metrics() File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 1097, in _update_metrics metrics = self._metrics = self.fontset.get_metrics( File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 286, in get_metrics info = self._get_info(font, font_class, sym, fontsize, dpi) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 375, in _get_info font, num, slanted = self._get_glyph(fontname, font_class, sym) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 710, in _get_glyph return super()._get_glyph(fontname, font_class, sym) File "D:\Anaconda\Lib\site-packages\matplotlib\_mathtext.py", line 648, in _get_glyph _log.info("Substituting symbol %s from %s", sym, family) Message: 'Substituting symbol %s from %s' Arguments: ('³', 'STIXGeneral')修改后输出完整代码,并且生成的图片的字体需要调整,显示不出来单位
最新发布
07-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值